Skip to content
Get started

Models

List
GET/models
Create
POST/models
Get Bulk
POST/models/get-bulk
Retrieve
GET/models/{modelId}
Update
PUT/models/{modelId}
Delete
DELETE/models/{modelId}
Copy
POST/models/{modelId}/copy
Download
POST/models/{modelId}/download
Delete Images
DELETE/models/{modelId}/images
Update Tags
PUT/models/{modelId}/tags
Transfer
POST/models/{modelId}/transfer
ModelsExpand Collapse
ModelListResponse object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelCreateResponse object { model }
model: object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelGetBulkResponse object { models }
models: array of object { id, privacy, type, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

capabilities: optional array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

collectionIds: optional array of string

A list of CollectionId this model belongs to

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

createdAt: optional string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: optional boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

exampleAssetIds: optional array of string

List of all example asset IDs setup by the model owner

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

source: optional "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: optional "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: optional array of string

The associated tags (example: [“sci-fi”, “landscape”])

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingImagesNumber: optional number

The total number of training images

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
updatedAt: optional string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelRetrieveResponse object { model }
model: object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelUpdateResponse object { model }
model: object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelDeleteResponse = unknown
ModelCopyResponse object { model }
model: object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelDownloadResponse object { jobId }
jobId: string

The job id associated with the download request

ModelDeleteImagesResponse = unknown
ModelUpdateTagsResponse object { added, deleted }
added: array of string

The list of added tags

deleted: array of string

The list of deleted tags

ModelTransferResponse object { model }
model: object { id, capabilities, collectionIds, 36 more }
id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: array of "3d23d" or "audio2audio" or "audio2txt" or 30 more

List of model capabilities (example: [“txt2img”, “img2img”, “txt2img_ip_adapter”, …])

One of the following:
"3d23d"
"audio2audio"
"audio2txt"
"audio2video"
"controlnet"
"controlnet_img2img"
"controlnet_inpaint"
"controlnet_inpaint_ip_adapter"
"controlnet_ip_adapter"
"controlnet_reference"
"controlnet_texture"
"img23d"
"img2img"
"img2img_ip_adapter"
"img2img_texture"
"img2txt"
"img2video"
"inpaint"
"inpaint_ip_adapter"
"outpaint"
"reference"
"reference_texture"
"txt23d"
"txt2audio"
"txt2img"
"txt2img_ip_adapter"
"txt2img_texture"
"txt2txt"
"txt2video"
"video23d"
"video2audio"
"video2img"
"video2video"
collectionIds: array of string

A list of CollectionId this model belongs to

createdAt: string

The model creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

custom: boolean

Whether the model is a custom model and can be used only with POST /generate/custom/{modelId} endpoint

exampleAssetIds: array of string

List of all example asset IDs setup by the model owner

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: "civitai" or "huggingface" or "other" or "scenario"

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: "copying" or "failed" or "new" or 3 more

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: array of string

The associated tags (example: [“sci-fi”, “landscape”])

trainingImagesNumber: number

The total number of training images

type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
updatedAt: string

The model last update date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

accessRestrictions: optional 0 or 100 or 25 or 2 more

The access restrictions of the model 0: Free plan 25: Creator plan 50: Pro plan 75: Team plan 100: Enterprise plan

One of the following:
0
100
25
50
75
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class: optional object { category, conceptPrompt, modelId, 5 more }

The class of the model

category: string

The category slug of the class (example: “art-style”)

conceptPrompt: string

The concept prompt of the class (example: “a sks character design”)

modelId: string

The model ID of the class. Only available for legacy models.

name: string

The class name (example: “Character Design”)

prompt: string

The class prompt (example: “a character design”)

slug: string

The class slug (example: “art-style-character-design”)

status: "published" or "unpublished"

The class status (only published classes are listed, but unpublished classes can still appear in existing models)

One of the following:
"published"
"unpublished"
thumbnails: array of string

Some example images URLs to showcase the class

compliantModelIds: optional array of string

List of base model IDs compliant with the model (example: [“flux.1-dev”, “flux.1-schnell”]) This attribute is mainly used for Flux LoRA models

concepts: optional array of object { modelId, scale, modelEpoch }

The concepts is required for the type model: composition

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

disableRefund: optional boolean

When true, credits spent on a generation with this model are not automatically refunded if the generation fails. Absent or false means failed generations are refunded as usual.

epoch: optional string

The epoch of the model. Only available for Flux Lora Trained models. If not set, uses the final model epoch (latest)

epochs: optional array of object { epoch, assets }

The epochs of the model. Only available for Flux Lora Trained models.

epoch: string

The epoch hash to identify the epoch

assets: optional array of object { assetId, url }

The assets of the epoch if sample prompts as been supplied during training

assetId: string

The AssetId of the image during training (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the asset

inputs: optional array of object { name, type, allowedValues, 24 more }

The inputs of the model. Only used for custom models. To retrieve this list, get it by modelId with GET /models/{modelId}

name: string

The name that must be user to call the model through the API

type: "boolean" or "file" or "file_array" or 7 more

The data type of the input

One of the following:
"boolean"
"file"
"file_array"
"inputs_array"
"model"
"model_array"
"number"
"number_array"
"string"
"string_array"
allowedValues: optional array of unknown

The allowed values for the input. For `string` or `number` types, creates a single-select dropdown. For `string_array` type, creates a multi-select dropdown.

backgroundBehavior: optional "opaque" or "transparent"

Specifies the background behavior for the input. Only available for `file` and `file_array` input types with kind `image`.

One of the following:
"opaque"
"transparent"
color: optional boolean

Whether the input is a color or not. Only available for `string` input type.

costImpact: optional boolean

Whether this input affects the model’s cost calculation

default: optional unknown

The default value for the input

description: optional string

Help text displayed in the UI to provide additional information about the input

group: optional string

Used to visually group inputs together in the UI. Inputs with the same group value appear consecutively in the UI.

hint: optional string

Hint text displayed in the UI as a tooltip to guide the user

inputs: optional array of map[unknown]

The list of inputs which form an object within a container array. All inputs are the same as the current object. This is only available for type inputs_array inputs.

kind: optional "3d" or "audio" or "document" or 5 more

The asset kind of the input. Only taken into account for `file` and `file_array` input types. If model provides multiple kinds, the input will be not able to create the asset on the flight on API side with dataurl without data:kind, prefix

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: optional string

The label displayed in the UI for this input

maskFrom: optional string

The name of the file input field to use as the mask source

max: optional number

The maximum allowed value. Only available for `number` and `array` input types.

maxDuration: optional number

The maximum allowed media duration in seconds. Only applies to `file` and `file_array` input types for video and audio assets. Validated against `asset.properties.duration` at job creation time.

maxLength: optional number

The maximum allowed length for `string` inputs. Also applies to each item in `string_array`.

maxSize: optional number

The maximum allowed file size in bytes. Only applies to `file` and `file_array` input types. Validated against `asset.properties.size` at job creation time.

min: optional number

The minimum allowed value. Only available for `number` and array input types.

minLength: optional number

The minimum allowed length for string inputs. Also applies to each item in `string_array`.

modelTypes: optional array of "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The allowed model types for this input. Example: `[“flux.1-lora”]`. Only available for `model_array` input type.

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
parent: optional boolean

Whether this input represents a parent asset to assign to the produced assets. Only available for `file` and `file_array` input types.

For `file_array`, the parent asset is the first item in the array.

placeholder: optional string

Placeholder text for the input. Only available for ‘string’ input type.

prompt: optional boolean

Whether the input is a prompt. When true, displays as a text area with prompt spark feature. Only available for `string` input type.

promptSpark: optional boolean

Whether the input is used with prompt spark. Only available for `string` input type.

required: optional object { always, conditionalValues, ifDefined, ifNotDefined }

Set of rules that describes when this input is required:

  • `always`: Input is always required
  • `ifNotDefined`: Input is required when another specified input is not defined
  • `ifDefined`: Input is required when another specified input is defined
  • `conditionalValues`: Input is required when another input has a specific value

By default, the input is not required.

always: optional boolean

Whether the input is always required

conditionalValues: optional unknown

Makes this input required when another input has a specific value:

  • Key: name of the input to check
  • Value: operation and allowed values that trigger the requirement
ifDefined: optional unknown

Makes this input required when another input is defined:

  • Key: name of the input that must be defined
  • Value: message to display when this input is required
ifNotDefined: optional unknown

Makes this input required when another input is not defined:

  • Key: name of the input that must be undefined
  • Value: message to display when this input is required
step: optional number

The step increment for numeric inputs. Only available for `number` input type.

minimum1
modelKeyword: optional string

The model keyword, this is a legacy parameter, please use conceptPrompt in parameters

name: optional string

The model name (example: “Cinematic Realism”)

negativePromptEmbedding: optional string

Fine-tune the model’s inferences with negative prompt embedding

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: optional object { age, batchSize, classPrompt, 29 more }

The parameters of the model

age: optional string

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batchSize: optional number

The batch size Less steps, and will increase the learning rate

Only available for Flux LoRA training

maximum4
minimum1
classPrompt: optional string

The prompt to specify images in the same class as provided instance images

Deprecated legacy training parameter.

cloneType: optional string

Type of voice cloning: “instant” (fast) or “professional” (higher quality, requires captcha)

Only available for ElevenLabs voice training

conceptPrompt: optional string

The prompt with identifier specifying the instance (or subject) of the class (example: “a daiton dog”)

Default value varies depending on the model type. For Flux LoRA, the default is an empty string.

gender: optional string

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: optional string

Language of the audio samples (ISO 639-1 code)

Only available for ElevenLabs voice training

learningRate: optional number

Initial learning rate (after the potential warmup period)

Default value varies depending on the model type. For Flux LoRA, the default is 0.0001.

exclusiveMinimum
minimum0
learningRateTextEncoder: optional number

Initial learning rate (after the potential warmup period) for the text encoder

Maximum [Flux LoRA: 0.001] Default [Flux LoRA: 0.00001] Minimum [Flux LoRA: 0.000001]

exclusiveMinimum
maximum0.001
minimum0
learningRateUnet: optional number

Initial learning rate (after the potential warmup period) for the UNet

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lrScheduler: optional "constant" or "constant-with-warmup" or "cosine" or 3 more

The scheduler type to use (default: “constant”)

Deprecated legacy training parameter.

One of the following:
"constant"
"constant-with-warmup"
"cosine"
"cosine-with-restarts"
"linear"
"polynomial"
maxTrainSteps: optional number

Maximum number of training steps to execute (default: varies depending on the model type)

Default value varies depending on the model type:

  • For Flux: number of training images * 100

Maximum value varies depending on the model type:

  • For Flux: [0, 10000]
maximum40000
minimum0
nbEpochs: optional number

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nbRepeats: optional number

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
numTextTrainSteps: optional number

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
numUNetTrainSteps: optional number

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimizeFor: optional "likeness"

Optimize the model training task for a specific type of input images. The available values are:

  • “likeness”: optimize training for likeness or portrait (targets specific transformer blocks)
  • “all”: train all transformer blocks
  • “none”: train no specific transformer blocks

This parameter controls which double and single transformer blocks are trained during the LoRA training process.

Only available for Flux LoRA training

priorLossWeight: optional number

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
randomCrop: optional boolean

Whether to random crop or center crop images before resizing to the working resolution

Deprecated legacy training parameter.

randomCropRatio: optional number

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
randomCropScale: optional number

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: optional number

The dimension of the LoRA update matrices

Only available for Flux LoRA and Musubi training

Default value varies depending on the model type:

  • For Flux: 16
  • For Musubi: 64

Each trainer enforces its own tighter limit (Flux LoRA: [2; 64], Musubi: [2; 128])

maximum128
minimum2
removeBackgroundNoise: optional boolean

Whether to remove background noise from audio samples before cloning. When enabled, each sample must be at least 5 seconds long.

Only available for ElevenLabs voice training

samplePrompts: optional array of string

The prompts to use for each epoch Only available for Flux LoRA training

sampleSourceImages: optional array of string

The sample prompt images (AssetIds) paired with samplePrompts Only available for Flux LoRA training Must be the same length as samplePrompts

scaleLr: optional boolean

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: optional number

Used to reproduce previous results. Default: randomly generated number.

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
textEncoderTrainingRatio: optional number

Whether to train the text encoder or not

Example: For 100 steps and a value of 0.2, it means that the text encoder will be trained for 20 steps and then the UNet for 80 steps

Note: Legacy parameter, please use numTextTrainSteps and numUNetTrainSteps

Deprecated legacy training parameter.

maximum0.99
minimum0
validationFrequency: optional number

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validationPrompt: optional string

Validation prompt

Deprecated legacy training parameter.

voiceDescription: optional string

Description of the voice characteristics

Only available for ElevenLabs voice training

wandbKey: optional string

The Weights And Bias key to use for logging. The maximum length is 40 characters

parentModelId: optional string

The id of the parent model

performanceStats: optional object { variants, default }

Aggregated performance stats

variants: array of object { capability, computedAt, variantKey, 9 more }

Performance metrics per variant

capability: string

The generation capability (example: “txt2img”, “img2video”, “txt2audio”)

computedAt: string

When these stats were last computed (ISO date)

variantKey: string

Unique variant identifier (example: “txt2img:1K”, “img2video:2K”, “txt2audio”)

arenaScore: optional object { arenaCategory, arenaModelName, fetchedAt, 5 more }

External quality score from arena.ai leaderboard

arenaCategory: string

Arena category (example: “text_to_image”, “image_to_video”)

arenaModelName: string

Model name on arena.ai

fetchedAt: string

When this score was last fetched (ISO date)

rank: number

Rank in the arena category

rating: number

ELO rating

ratingLower: number

ELO rating confidence interval lower bound

ratingUpper: number

ELO rating confidence interval upper bound

votes: number

Number of human votes

costPerAssetMaxCU: optional number

Maximum cost per output asset (CU)

costPerAssetMinCU: optional number

Minimum cost per output asset (CU)

costPerAssetP50CU: optional number

Median cost per output asset (CU)

inferenceLatencyP50Sec: optional number

Inference latency P50 per output asset (seconds)

inferenceLatencyP75Sec: optional number

Inference latency P75 per output asset (seconds)

resolution: optional string

The resolution bucket (example: “0.5K”, “1K”, “2K”, “4K”)

totalLatencyP50Sec: optional number

Total latency P50 per output asset, including queue time (seconds)

totalLatencyP75Sec: optional number

Total latency P75 per output asset, including queue time (seconds)

default: optional string

Default variant key for quick model comparison

promptEmbedding: optional string

Fine-tune the model’s inferences with prompt embedding

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

softDeletionOn: optional string

The date when the model will be soft deleted (only for Free plan)

thumbnail: optional object { assetId, url }

A thumbnail for your model

assetId: string

The AssetId of the image used as a thumbnail for your model (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for your model

trainingImagePairs: optional array of object { instruction, sourceId, targetId }

Array of training image pairs

instruction: optional string

The instruction for the image pair, source to target

sourceId: optional string

The source asset ID (must be a training asset)

targetId: optional string

The target asset ID (must be a training asset)

trainingImages: optional array of object { id, automaticCaptioning, createdAt, 3 more }

The URLs of the first 3 training images of the model. To retrieve the full set of images, get it by modelId

id: string

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automaticCaptioning: string

Automatic captioning of the image

createdAt: string

The training image upload date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

description: string

Description for the image

downloadUrl: string

The URL of the image

name: string

The original file name of the image (example: “my-training-image.jpg”)

trainingProgress: optional object { stage, updatedAt, captchaImageUrl, 6 more }

Additional information about the training progress of the model

stage: "pending" or "pending-captcha" or "queued-for-train" or 3 more

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updatedAt: number

Timestamp in milliseconds of the last time the training progress was updated

captchaImageUrl: optional string

Signed URL of the captcha image to read aloud during PVC voice cloning. Only present when stage === ‘pending-captcha’. Overwritten on each retry.

position: optional number

Position of the job in the queue (ie. the number of job in the queue before this one)

progress: optional number

The progress of the job

maximum1
minimum0
remainingTimeMs: optional number

The remaining time in milliseconds

retryableError: optional string

Last recoverable failure message during PVC. Present when the model has bounced back to stage === ‘ready-for-captcha’ after a step 2 or step 3 failure (e.g. captcha rejected, time limit exceeded). Surface above the retry button so the user understands why they’re back here.

retryCount: optional number

Number of consecutive PVC step 2 / step 3 failures on this voice model. The model is marked Failed when this reaches the platform’s max retries.

startedAt: optional number

The timestamp in millisecond marking the start of the process

trainingStats: optional object { endedAt, queueDuration, startedAt, trainDuration }

Additional information about the model’s training

endedAt: optional string

The training end time as an ISO date string

queueDuration: optional number

The training queued duration in seconds

startedAt: optional string

The training start time as an ISO date string

trainDuration: optional number

The training duration in seconds

uiConfig: optional object { inputProperties, lorasComponent, presets, 3 more }

The UI configuration for the model

inputProperties: optional map[object { collapsed } ]

Configuration for the input properties

collapsed: optional boolean
lorasComponent: optional object { label, modelInput, scaleInput, modelIdInput }

Configuration for the loras component

label: string

The label of the component

modelInput: string

The input name of the model (model_array)

scaleInput: string

The input name of the scale (number_array)

modelIdInput: optional string

The input model id (example: a composition or a single LoRA modelId) If specified, the model id will be attached to the output asset as a metadata If the model-decomposer parser is specified on it, modelInput and scaleInput will be automatically populated

presets: optional array of object { fields, presets }

Configuration for the presets

fields: array of string
presets: unknown
resolutionComponent: optional object { heightInput, label, presets, widthInput }

Configuration for the resolution component

heightInput: string

The input name of the height

label: string

The label of the component

presets: array of object { height, label, width }

The resolution presets

height: number
label: string
width: number
widthInput: string

The input name of the width

selects: optional map[unknown]

Configuration for the selects

triggerGenerate: optional object { label, after, position }

Configuration for the trigger generate button

label: string
after: optional string

The ‘name’ of the input where the trigger generate button will be displayed (after the input). Do not specify both position and after.

position: optional "bottom" or "top"

The position of the trigger generate button. If position specified, the button will be displayed at the specified position. Do not specify both position and after.

One of the following:
"bottom"
"top"
userId: optional string

(Deprecated) The user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

ModelsDescription

Retrieve
GET/models/{modelId}/description
Update
PUT/models/{modelId}/description
ModelsExpand Collapse
DescriptionRetrieveResponse object { description }
description: object { assets, models, value }
assets: array of object { id, authorId, kind, 9 more }

The list of assets referenced by the Markdown {asset} tag in the description.

id: string

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

authorId: string

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

kind: "3d" or "audio" or "document" or 5 more

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
mimeType: string

The mime type of the asset (example: “image/png”)

ownerId: string

The owner (project) ID (example: “proj_23tlk332lkht3kl2” or “team_dlkhgs23tlk3hlkth32lkht3kl2” for old teams)

privacy: "private" or "public" or "unlisted"

The privacy of the asset

One of the following:
"private"
"public"
"unlisted"
properties: object { size, animationFrameCount, bitrate, 26 more }

The properties of the asset, content may depend on the kind of asset returned

size: number
animationFrameCount: optional number

Number of animation frames if animations exist

bitrate: optional number

Bitrate of the media in bits per second

boneCount: optional number

Number of bones if skeleton exists

cameraMode: optional "aerial" or "interior" or "turntable"

Recommended preview camera mode emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

One of the following:
"aerial"
"interior"
"turntable"
cameraTrajectory: optional array of object { position, target, fov }

Recommended preview camera path emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

position: array of unknown

Camera eye position in the splat’s world frame.

target: array of unknown

Look-at point in the splat’s world frame.

fov: optional number

Vertical field of view in degrees (defaults to 50 in the renderer).

channels: optional number

Number of channels of the audio

charCount: optional number

Number of Unicode code points in the text. Code-point-aware (so a non-BMP emoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence still counts as several).

classification: optional "effect" or "interview" or "music" or 5 more

Classification of the audio

One of the following:
"effect"
"interview"
"music"
"other"
"sound"
"speech"
"text"
"unknown"
codecName: optional string

Codec name of the media

description: optional string

Description of the audio

dimensions: optional array of number

Bounding box dimensions [width, height, depth]

duration: optional number

Duration of the media in seconds

faceCount: optional number

Number of faces/triangles in the mesh

format: optional string

Format of the mesh file (e.g. ‘glb’, etc.)

frameRate: optional number

Frame rate of the video in frames per second

hasAnimations: optional boolean

Whether the mesh has animations

hasFullPreview: optional boolean

True when preview holds the entire content unmodified — consumers can use it directly without fetching asset.url. False or undefined means the content exceeds the preview budget and consumers must fetch the full body from S3 to read past the preview.

hasNormals: optional boolean

Whether the mesh has normal vectors

hasSkeleton: optional boolean

Whether the mesh has bones/skeleton

hasUVs: optional boolean

Whether the mesh has UV coordinates

height: optional number
nbFrames: optional number

Number of frames in the video

preview: optional string

Leading slice of the content used for inline UI display and as a search shortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a code-point boundary so no character is split. Number of characters in the preview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for emoji-heavy text at the default 1 KB budget).

sampleRate: optional number

Sample rate of the media in Hz

transcription: optional object { text }

Transcription of the audio

text: string
vertexCount: optional number

Number of vertices in the mesh

width: optional number
wordCount: optional number

Number of whitespace-separated words in the text

source: "3d23d" or "3d23d:texture" or "3d:texture" or 77 more

source of the asset

One of the following:
"3d23d"
"3d23d:texture"
"3d:texture"
"3d:texture:albedo"
"3d:texture:metallic"
"3d:texture:mtl"
"3d:texture:normal"
"3d:texture:roughness"
"audio2audio"
"audio2txt"
"audio2video"
"background-removal"
"canvas"
"canvas-drawing"
"canvas-export"
"detection"
"generative-fill"
"image-prompt-editing"
"img23d"
"img2img"
"img2splat"
"img2txt"
"img2video"
"inference-control-net"
"inference-control-net-img"
"inference-control-net-inpainting"
"inference-control-net-inpainting-ip-adapter"
"inference-control-net-ip-adapter"
"inference-control-net-reference"
"inference-control-net-texture"
"inference-img"
"inference-img-ip-adapter"
"inference-img-texture"
"inference-in-paint"
"inference-in-paint-ip-adapter"
"inference-reference"
"inference-reference-texture"
"inference-txt"
"inference-txt-ip-adapter"
"inference-txt-texture"
"patch"
"pixelization"
"reframe"
"restyle"
"segment"
"segmentation-image"
"segmentation-mask"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"texture"
"texture:albedo"
"texture:ao"
"texture:edge"
"texture:height"
"texture:metallic"
"texture:normal"
"texture:smoothness"
"txt23d"
"txt2audio"
"txt2img"
"txt2txt"
"txt2video"
"unknown"
"uploaded"
"uploaded-3d"
"uploaded-audio"
"uploaded-avatar"
"uploaded-text"
"uploaded-video"
"upscale"
"upscale-skybox"
"upscale-texture"
"upscale-video"
"vectorization"
"video23d"
"video2audio"
"video2img"
"video2video"
"voice-clone"
url: string

Signed URL to get the asset content

originalFileUrl: optional string

The original file url.

Contains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets. Is only specified if the given asset data has been replaced with a new file during the creation of the asset.

preview: optional object { assetId, url }

The asset’s preview.

Contains the assetId and the url of the preview.

assetId: string
url: string
thumbnail: optional object { assetId, url }

The asset’s thumbnail.

Contains the assetId and the url of the thumbnail.

assetId: string
url: string
models: array of object { id, privacy, type, 4 more }

The list of models referenced by the Markdown {model} tag in the description.

id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

name: optional string

The model name (example: “Cinematic Realism”)

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

value: string

The markdown description of the model (ex: # My model). We allow the {asset:<assetId>} and {model:<modelId>} tags.

DescriptionUpdateResponse object { description }
description: object { assets, models, value }
assets: array of object { id, authorId, kind, 9 more }

The list of assets referenced by the Markdown {asset} tag in the description.

id: string

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

authorId: string

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

kind: "3d" or "audio" or "document" or 5 more

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
mimeType: string

The mime type of the asset (example: “image/png”)

ownerId: string

The owner (project) ID (example: “proj_23tlk332lkht3kl2” or “team_dlkhgs23tlk3hlkth32lkht3kl2” for old teams)

privacy: "private" or "public" or "unlisted"

The privacy of the asset

One of the following:
"private"
"public"
"unlisted"
properties: object { size, animationFrameCount, bitrate, 26 more }

The properties of the asset, content may depend on the kind of asset returned

size: number
animationFrameCount: optional number

Number of animation frames if animations exist

bitrate: optional number

Bitrate of the media in bits per second

boneCount: optional number

Number of bones if skeleton exists

cameraMode: optional "aerial" or "interior" or "turntable"

Recommended preview camera mode emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

One of the following:
"aerial"
"interior"
"turntable"
cameraTrajectory: optional array of object { position, target, fov }

Recommended preview camera path emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

position: array of unknown

Camera eye position in the splat’s world frame.

target: array of unknown

Look-at point in the splat’s world frame.

fov: optional number

Vertical field of view in degrees (defaults to 50 in the renderer).

channels: optional number

Number of channels of the audio

charCount: optional number

Number of Unicode code points in the text. Code-point-aware (so a non-BMP emoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence still counts as several).

classification: optional "effect" or "interview" or "music" or 5 more

Classification of the audio

One of the following:
"effect"
"interview"
"music"
"other"
"sound"
"speech"
"text"
"unknown"
codecName: optional string

Codec name of the media

description: optional string

Description of the audio

dimensions: optional array of number

Bounding box dimensions [width, height, depth]

duration: optional number

Duration of the media in seconds

faceCount: optional number

Number of faces/triangles in the mesh

format: optional string

Format of the mesh file (e.g. ‘glb’, etc.)

frameRate: optional number

Frame rate of the video in frames per second

hasAnimations: optional boolean

Whether the mesh has animations

hasFullPreview: optional boolean

True when preview holds the entire content unmodified — consumers can use it directly without fetching asset.url. False or undefined means the content exceeds the preview budget and consumers must fetch the full body from S3 to read past the preview.

hasNormals: optional boolean

Whether the mesh has normal vectors

hasSkeleton: optional boolean

Whether the mesh has bones/skeleton

hasUVs: optional boolean

Whether the mesh has UV coordinates

height: optional number
nbFrames: optional number

Number of frames in the video

preview: optional string

Leading slice of the content used for inline UI display and as a search shortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a code-point boundary so no character is split. Number of characters in the preview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for emoji-heavy text at the default 1 KB budget).

sampleRate: optional number

Sample rate of the media in Hz

transcription: optional object { text }

Transcription of the audio

text: string
vertexCount: optional number

Number of vertices in the mesh

width: optional number
wordCount: optional number

Number of whitespace-separated words in the text

source: "3d23d" or "3d23d:texture" or "3d:texture" or 77 more

source of the asset

One of the following:
"3d23d"
"3d23d:texture"
"3d:texture"
"3d:texture:albedo"
"3d:texture:metallic"
"3d:texture:mtl"
"3d:texture:normal"
"3d:texture:roughness"
"audio2audio"
"audio2txt"
"audio2video"
"background-removal"
"canvas"
"canvas-drawing"
"canvas-export"
"detection"
"generative-fill"
"image-prompt-editing"
"img23d"
"img2img"
"img2splat"
"img2txt"
"img2video"
"inference-control-net"
"inference-control-net-img"
"inference-control-net-inpainting"
"inference-control-net-inpainting-ip-adapter"
"inference-control-net-ip-adapter"
"inference-control-net-reference"
"inference-control-net-texture"
"inference-img"
"inference-img-ip-adapter"
"inference-img-texture"
"inference-in-paint"
"inference-in-paint-ip-adapter"
"inference-reference"
"inference-reference-texture"
"inference-txt"
"inference-txt-ip-adapter"
"inference-txt-texture"
"patch"
"pixelization"
"reframe"
"restyle"
"segment"
"segmentation-image"
"segmentation-mask"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"texture"
"texture:albedo"
"texture:ao"
"texture:edge"
"texture:height"
"texture:metallic"
"texture:normal"
"texture:smoothness"
"txt23d"
"txt2audio"
"txt2img"
"txt2txt"
"txt2video"
"unknown"
"uploaded"
"uploaded-3d"
"uploaded-audio"
"uploaded-avatar"
"uploaded-text"
"uploaded-video"
"upscale"
"upscale-skybox"
"upscale-texture"
"upscale-video"
"vectorization"
"video23d"
"video2audio"
"video2img"
"video2video"
"voice-clone"
url: string

Signed URL to get the asset content

originalFileUrl: optional string

The original file url.

Contains the url of the original file. without any conversion. Only available for some specific video, audio and threeD assets. Is only specified if the given asset data has been replaced with a new file during the creation of the asset.

preview: optional object { assetId, url }

The asset’s preview.

Contains the assetId and the url of the preview.

assetId: string
url: string
thumbnail: optional object { assetId, url }

The asset’s thumbnail.

Contains the assetId and the url of the thumbnail.

assetId: string
url: string
models: array of object { id, privacy, type, 4 more }

The list of models referenced by the Markdown {model} tag in the description.

id: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: "private" or "public" or "unlisted"

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The model type (example: “flux.1-lora”)

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
authorId: optional string

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

name: optional string

The model name (example: “Cinematic Realism”)

ownerId: optional string

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

shortDescription: optional string

The model short description (example: “This model generates highly detailed cinematic scenes.”)

value: string

The markdown description of the model (ex: # My model). We allow the {asset:<assetId>} and {model:<modelId>} tags.

ModelsExamples

List
GET/models/{modelId}/examples
Update
PUT/models/{modelId}/examples
ModelsExpand Collapse
ExampleListResponse object { examples }
examples: array of object { asset, modelId, inferenceId, 2 more }
asset: object { id, authorId, collectionIds, 25 more }

Asset generated by the inference

id: string

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

authorId: string

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

collectionIds: array of string

A list of CollectionId this asset belongs to

createdAt: string

The asset creation date as an ISO string (example: “2023-02-03T11:19:41.579Z”)

editCapabilities: array of "DETECTION" or "GENERATIVE_FILL" or "PIXELATE" or 8 more

List of edit capabilities

One of the following:
"DETECTION"
"GENERATIVE_FILL"
"PIXELATE"
"PROMPT_EDITING"
"REFINE"
"REFRAME"
"REMOVE_BACKGROUND"
"SEGMENTATION"
"UPSCALE"
"UPSCALE_360"
"VECTORIZATION"
kind: "3d" or "audio" or "document" or 5 more

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
metadata: object { kind, type, angular, 106 more }

Metadata of the asset with some additional information

kind: "3d" or "audio" or "document" or 5 more
One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
type: "3d-texture" or "3d-texture-albedo" or "3d-texture-metallic" or 77 more

The type of the asset. Ex: ‘inference-txt2img’ will represent an asset generated from a text to image model

One of the following:
"3d-texture"
"3d-texture-albedo"
"3d-texture-metallic"
"3d-texture-mtl"
"3d-texture-normal"
"3d-texture-roughness"
"3d23d"
"3d23d-texture"
"audio2audio"
"audio2txt"
"audio2video"
"background-removal"
"canvas"
"canvas-drawing"
"canvas-export"
"detection"
"generative-fill"
"image-prompt-editing"
"img23d"
"img2img"
"img2splat"
"img2txt"
"img2video"
"inference-controlnet"
"inference-controlnet-img2img"
"inference-controlnet-inpaint"
"inference-controlnet-inpaint-ip-adapter"
"inference-controlnet-ip-adapter"
"inference-controlnet-reference"
"inference-controlnet-texture"
"inference-img2img"
"inference-img2img-ip-adapter"
"inference-img2img-texture"
"inference-inpaint"
"inference-inpaint-ip-adapter"
"inference-reference"
"inference-reference-texture"
"inference-txt2img"
"inference-txt2img-ip-adapter"
"inference-txt2img-texture"
"patch"
"pixelization"
"reframe"
"restyle"
"segment"
"segmentation-image"
"segmentation-mask"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"texture"
"texture-albedo"
"texture-ao"
"texture-edge"
"texture-height"
"texture-metallic"
"texture-normal"
"texture-smoothness"
"txt23d"
"txt2audio"
"txt2img"
"txt2txt"
"txt2video"
"unknown"
"uploaded"
"uploaded-3d"
"uploaded-audio"
"uploaded-avatar"
"uploaded-text"
"uploaded-video"
"upscale"
"upscale-skybox"
"upscale-texture"
"upscale-video"
"vectorization"
"video23d"
"video2audio"
"video2img"
"video2video"
"voice-clone"
angular: optional number

How angular is the surface? 0 is like a sphere, 1 is like a mechanical object

maximum1
minimum0
aspectRatio: optional string

The optional aspect ratio given for the generation, only applicable for some models

backgroundOpacity: optional number
maximum255
minimum0
baseModelId: optional string

The baseModelId that maybe changed at inference time

bbox: optional array of number

A bounding box around the object of interest, in the format [x1, y1, x2, y2].

betterQuality: optional boolean
cannyStructureImage: optional string

The control image already processed by canny detector. Must reference an existing AssetId.

clustering: optional boolean

Activate clustering.

colorCorrection: optional boolean

Ensure upscaled tile have the same color histogram as original tile.

colorMode: optional string
colorPrecision: optional number
concepts: optional array of object { modelId, scale, modelEpoch }

Flux Kontext LoRA to style the image. For Flux Kontext Prompt Editing.

modelId: string

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: number

The scale of the model (example: 1.0) For Flux Kontext Prompt Editing, the scale is between 0 and 2.

maximum2
minimum-2
modelEpoch: optional string

The epoch of the model (example: “000001”) Only available for Flux Lora Trained models

contours: optional array of array of array of array of number
controlEnd: optional number

End step for control.

copiedAt: optional string

The date when the asset was copied to a project

cornerThreshold: optional number
creativity: optional number

Allow the generation of “hallucinations” during the upscale process, which adds additional details and deviates from the original image. Default: optimized for your preset and style.

maximum100
minimum0
creativityDecay: optional number

Amount of decay in creativity over the upscale process. The lowest the value, the less the creativity will be preserved over the upscale process.

maximum100
minimum0
defaultParameters: optional boolean

If true, use the default parameters

depthFidelity: optional number

The depth fidelity if a depth image provided

maximum100
minimum0
depthImage: optional string

The control image processed by depth estimator. Must reference an existing AssetId.

detailsLevel: optional number

Amount of details to remove or add

maximum50
minimum-50
dilate: optional number
maximum30
minimum0
factor: optional number

Contrast factor for Grayscale detector

filterSpeckle: optional number
fractality: optional number

Determine the scale at which the upscale process works.

  • With a small value, the upscale works at the largest scale, resulting in fewer added details and more coherent images. Ideal for portraits, for example.
  • With a large value, the upscale works at the smallest scale, resulting in more added details and more hallucinations. Ideal for landscapes, for example.

(info): A small value is slower and more expensive to run.

maximum100
minimum0
geometryEnforcement: optional number

Apply extra control to the Skybox 360 geometry. The higher the value, the more the 360 geometry will influence the generated skybox image.

Use with caution. Default is adapted to the other parameters.

maximum100
minimum0
guidance: optional number

The guidance used to generate this asset

halfMode: optional boolean
hdr: optional number
height: optional number
highThreshold: optional number

High threshold for Canny detector

horizontalExpansionRatio: optional number

(deprecated) Horizontal expansion ratio.

maximum2
minimum1
image: optional string

The input image to process. Must reference an existing AssetId or be a data URL.

imageFidelity: optional number

Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.

maximum100
minimum0
imageType: optional "seamfull" or "skybox" or "texture"

Preserve the seamless properties of skybox or texture images. Input has to be of same type (seamless).

One of the following:
"seamfull"
"skybox"
"texture"
inferenceId: optional string

The id of the Inference describing how this image was generated

inputFidelity: optional "high" or "low"

When set to high, allows to better preserve details from the input images in the output. This is especially useful when using images that contain elements like faces or logos that require accurate preservation in the generated image.

You can provide multiple input images that will all be preserved with high fidelity, but keep in mind that the first image will be preserved with richer textures and finer details, so if you include elements such as faces, consider placing them in the first image.

Only available for the gpt-image-1 model.

One of the following:
"high"
"low"
inputLocation: optional "bottom" or "left" or "middle" or 2 more

Location of the input image in the output.

One of the following:
"bottom"
"left"
"middle"
"right"
"top"
invert: optional boolean

To invert the relief

keypointThreshold: optional number

How polished is the surface? 0 is like a rough surface, 1 is like a mirror

maximum1
minimum0
layerDifference: optional number
lengthThreshold: optional number
lockExpiresAt: optional string

The ISO timestamp when the lock on the canvas will expire

lowThreshold: optional number

Low threshold for Canny detector

mask: optional string

The mask used for the asset generation or editing

maxIterations: optional number
maxThreshold: optional number

Maximum threshold for Grayscale conversion

minThreshold: optional number

Minimum threshold for Grayscale conversion

modality: optional "canny" or "depth" or "grayscale" or 7 more

Modality to detect

One of the following:
"canny"
"depth"
"grayscale"
"lineart_anime"
"mlsd"
"normal"
"pose"
"scribble"
"segmentation"
"sketch"
mode: optional string
modelId: optional string

The modelId used to generate this asset

modelType: optional "custom" or "elevenlabs-voice" or "flux.1" or 28 more

The type of the generator used

One of the following:
"custom"
"elevenlabs-voice"
"flux.1"
"flux.1-composition"
"flux.1-kontext-dev"
"flux.1-kontext-lora"
"flux.1-krea-dev"
"flux.1-krea-lora"
"flux.1-lora"
"flux.1-pro"
"flux.1.1-pro-ultra"
"flux.2-dev-edit-lora"
"flux.2-dev-lora"
"flux.2-klein-4b-edit-lora"
"flux.2-klein-4b-lora"
"flux.2-klein-9b-edit-lora"
"flux.2-klein-9b-lora"
"flux.2-klein-base-4b-edit-lora"
"flux.2-klein-base-4b-lora"
"flux.2-klein-base-9b-edit-lora"
"flux.2-klein-base-9b-lora"
"flux1.1-pro"
"gpt-image-1"
"qwen-image-2512-lora"
"qwen-image-edit-2509-lora"
"qwen-image-edit-2511-lora"
"qwen-image-edit-lora"
"qwen-image-lora"
"zimage-de-turbo-lora"
"zimage-lora"
"zimage-turbo-lora"
name: optional string
nbMasks: optional number
negativePrompt: optional string

The negative prompt used to generate this asset

negativePromptStrength: optional number

Controls the influence of the negative prompt. Default 0 means the negative prompt has no effect. Higher values increase negative prompt influence. Must be > 0 if negativePrompt is provided.

maximum10
minimum0
numInferenceSteps: optional number

The number of denoising steps for each image generation.

maximum50
minimum5
numOutputs: optional number

The number of outputs to generate.

maximum8
minimum1
originalAssetId: optional string
outputIndex: optional number
overlapPercentage: optional number

Overlap percentage for the output image.

maximum0.5
minimum0
overrideEmbeddings: optional boolean

Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.

parentId: optional string
parentJobId: optional string
pathPrecision: optional number
points: optional array of array of number

List of points (label, x, y) in the image where label = 0 for background and 1 for object.

polished: optional number

How polished is the surface? 0 is like a rough surface, 1 is like a mirror

maximum1
minimum0
preset: optional string
progressPercent: optional number
prompt: optional string

The prompt that guided the asset generation or editing

promptFidelity: optional number

Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.

maximum100
minimum0
raised: optional number

How raised is the surface? 0 is flat like water, 1 is like a very rough rock

maximum1
minimum0
referenceImages: optional array of string

The reference images used for the asset generation or editing

refinementSteps: optional number

Additional refinement steps before scaling.

If scalingFactor == 1, the refinement process will be applied (1 + refinementSteps) times. If scalingFactor > 1, the refinement process will be applied refinementSteps times.

maximum4
minimum0
removeBackground: optional boolean

Remove background for Grayscale detector

resizeOption: optional number

Size proportion of the input image in the output.

maximum1
minimum0.1
resultContours: optional boolean

Boolean to output the contours.

resultImage: optional boolean

Boolean to return the source image with the mask applied as alpha channel (RGBA PNG, transparent background) instead of the binary mask. Mutually exclusive with resultMask — passing both as true returns a 400 error. Note: backgroundOpacity is no longer honored — alpha is binary (0/255) only.

resultMask: optional boolean

Boolean to return the binary masks in the response. Mutually exclusive with resultImage — passing both as true returns a 400 error.

rootParentId: optional string
saveFlipbook: optional boolean

Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px

scalingFactor: optional number

Scaling factor (when targetWidth not specified)

maximum16
minimum1
scheduler: optional string

The scheduler used to generate this asset

seed: optional string

The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.

sharpen: optional boolean

Sharpen tiles.

shiny: optional number

How shiny is the surface? 0 is like a matte surface, 1 is like a diamond

maximum1
minimum0
size: optional number
sketch: optional boolean

Activate sketch detection instead of canny.

sourceProjectId: optional string
spliceThreshold: optional number
strength: optional number

The strength

Only available for the flux-kontext LoRA model.

structureFidelity: optional number

Strength for the input image structure preservation

maximum100
minimum0
structureImage: optional string

The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.

style: optional "3d-cartoon" or "3d-rendered" or "anime" or 23 more
One of the following:
"3d-cartoon"
"3d-rendered"
"anime"
"cartoon"
"cinematic"
"claymation"
"cloud-skydome"
"comic"
"cyberpunk"
"enchanted"
"fantasy"
"ink"
"manga"
"manga-color"
"minimalist"
"neon-tron"
"oil-painting"
"pastel"
"photo"
"photography"
"psychedelic"
"retro-fantasy"
"scifi-concept-art"
"space"
"standard"
"whimsical"
styleFidelity: optional number

The higher the value the more it will look like the style image(s)

maximum100
minimum0
styleImages: optional array of string

List of style images. Most of the time, only one image is enough. It must be existing AssetIds.

styleImagesFidelity: optional number

Condition the influence of the style image(s). The higher the value, the more the style images will influence the upscaled image.

maximum100
minimum0
targetHeight: optional number

The target height of the output image.

maximum2048
minimum0
targetWidth: optional number

Target width for the upscaled image, take priority over scaling factor

maximum16000
minimum1024
text: optional string

A textual description / keywords describing the object of interest.

maxLength100
texture: optional string

The asset to convert in texture maps. Must reference an existing AssetId.

thumbnail: optional object { assetId, url }

The thumbnail of the canvas

assetId: string

The AssetId of the image used as a thumbnail for the canvas (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

url: string

The url of the image used as a thumbnail for the canvas

tileStyle: optional boolean

If set to true, during the upscaling process, the model will match tiles of the source image with tiles of the style image(s). This will result in a more coherent restyle. Works best with style images that have a similar composition.

trainingImage: optional boolean
verticalExpansionRatio: optional number

(deprecated) Vertical expansion ratio.

maximum2
minimum1
width: optional number

The width of the rendered image.

maximum2048
minimum1024
mimeType: string

The mime type of the asset (example: “image/png”)

ownerId: string

The owner (project) ID (example: “proj_23tlk332lkht3kl2” or “team_dlkhgs23tlk3hlkth32lkht3kl2” for old teams)

privacy: "private" or "public" or "unlisted"

The privacy of the asset

One of the following:
"private"
"public"
"unlisted"
properties: object { size, animationFrameCount, bitrate, 26 more }

The properties of the asset, content may depend on the kind of asset returned

size: number
animationFrameCount: optional number

Number of animation frames if animations exist

bitrate: optional number

Bitrate of the media in bits per second

boneCount: optional number

Number of bones if skeleton exists

cameraMode: optional "aerial" or "interior" or "turntable"

Recommended preview camera mode emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

One of the following:
"aerial"
"interior"
"turntable"
cameraTrajectory: optional array of object { position, target, fov }

Recommended preview camera path emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

position: array of unknown

Camera eye position in the splat’s world frame.

target: array of unknown

Look-at point in the splat’s world frame.

fov: optional number

Vertical field of view in degrees (defaults to 50 in the renderer).

channels: optional number

Number of channels of the audio

charCount: optional number

Number of Unicode code points in the text. Code-point-aware (so a non-BMP emoji counts as 1) but not full grapheme-cluster aware (a ZWJ sequence still counts as several).

classification: optional "effect" or "interview" or "music" or 5 more

Classification of the audio

One of the following:
"effect"
"interview"
"music"
"other"
"sound"
"speech"
"text"
"unknown"
codecName: optional string

Codec name of the media

description: optional string

Description of the audio

dimensions: optional array of number

Bounding box dimensions [width, height, depth]

duration: optional number

Duration of the media in seconds

faceCount: optional number

Number of faces/triangles in the mesh

format: optional string

Format of the mesh file (e.g. ‘glb’, etc.)

frameRate: optional number

Frame rate of the video in frames per second

hasAnimations: optional boolean

Whether the mesh has animations

hasFullPreview: optional boolean

True when preview holds the entire content unmodified — consumers can use it directly without fetching asset.url. False or undefined means the content exceeds the preview budget and consumers must fetch the full body from S3 to read past the preview.

hasNormals: optional boolean

Whether the mesh has normal vectors

hasSkeleton: optional boolean

Whether the mesh has bones/skeleton

hasUVs: optional boolean

Whether the mesh has UV coordinates

height: optional number
nbFrames: optional number

Number of frames in the video

preview: optional string

Leading slice of the content used for inline UI display and as a search shortcut. Capped at TEXT_PREVIEW_MAX_BYTES (UTF-8) and always cut on a code-point boundary so no character is split. Number of characters in the preview varies by script (around 1024 for ASCII, ~340 for CJK, ~256 for emoji-heavy text at the default 1 KB budget).

sampleRate: optional number

Sample rate of the media in Hz

transcription: optional object { text }

Transcription of the audio

text: string
vertexCount: optional number

Number of vertices in the mesh

width: optional number
wordCount: optional number

Number of whitespace-separated words in the text

source: "3d23d" or "3d23d:texture" or "3d:texture" or 77 more

source of the asset

One of the following:
"3d23d"
"3d23d:texture"
"3d:texture"
"3d:texture:albedo"
"3d:texture:metallic"
"3d:texture:mtl"
"3d:texture:normal"
"3d:texture:roughness"
"audio2audio"
"audio2txt"
"audio2video"
"background-removal"
"canvas"
"canvas-drawing"
"canvas-export"
"detection"
"generative-fill"
"image-prompt-editing"
"img23d"
"img2img"
"img2splat"
"img2txt"
"img2video"
"inference-control-net"
"inference-control-net-img"
"inference-control-net-inpainting"
"inference-control-net-inpainting-ip-adapter"
"inference-control-net-ip-adapter"
"inference-control-net-reference"
"inference-control-net-texture"
"inference-img"
"inference-img-ip-adapter"
"inference-img-texture"
"inference-in-paint"
"inference-in-paint-ip-adapter"
"inference-reference"
"inference-reference-texture"
"inference-txt"
"inference-txt-ip-adapter"
"inference-txt-texture"
"patch"
"pixelization"
"reframe"
"restyle"
"segment"
"segmentation-image"
"segmentation-mask"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"texture"
"texture:albedo"
"texture:ao"
"texture:edge"
"texture:height"
"texture:metallic"
"texture:normal"
"texture:smoothness"
"txt23d"
"txt2audio"
"txt2img"
"txt2txt"
"txt2video"
"unknown"
"uploaded"
"uploaded-3d"
"uploaded-audio"
"uploaded-avatar"
"uploaded-text"