Skip to content
Get started

Models

Copy
models.copy(strmodel_id, ModelCopyParams**kwargs) -> ModelCopyResponse
POST/models/{modelId}/copy
Create
models.create(ModelCreateParams**kwargs) -> ModelCreateResponse
POST/models
Delete
models.delete(strmodel_id, ModelDeleteParams**kwargs) -> object
DELETE/models/{modelId}
Delete Images
models.delete_images(strmodel_id, ModelDeleteImagesParams**kwargs) -> object
DELETE/models/{modelId}/images
Download
models.download(strmodel_id, ModelDownloadParams**kwargs) -> ModelDownloadResponse
POST/models/{modelId}/download
Get Bulk
models.get_bulk(ModelGetBulkParams**kwargs) -> ModelGetBulkResponse
POST/models/get-bulk
List
models.list(ModelListParams**kwargs) -> SyncModelsCursor[ModelListResponse]
GET/models
Retrieve
models.retrieve(strmodel_id, ModelRetrieveParams**kwargs) -> ModelRetrieveResponse
GET/models/{modelId}
Transfer
models.transfer(strmodel_id, ModelTransferParams**kwargs) -> ModelTransferResponse
POST/models/{modelId}/transfer
Update
models.update(strmodel_id, ModelUpdateParams**kwargs) -> ModelUpdateResponse
PUT/models/{modelId}
Update Tags
models.update_tags(strmodel_id, ModelUpdateTagsParams**kwargs) -> ModelUpdateTagsResponse
PUT/models/{modelId}/tags
ModelsExpand Collapse
class ModelCopyResponse: …
model: Model
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelCreateResponse: …
model: Model
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelDownloadResponse: …
job_id: str

The job id associated with the download request

class ModelGetBulkResponse: …
models: List[Model]
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

capabilities: Optional[List[Literal["3d23d", "audio2audio", "audio2txt", 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[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

collection_ids: Optional[List[str]]

A list of CollectionId this model belongs to

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

created_at: Optional[str]

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

custom: Optional[bool]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

example_asset_ids: Optional[List[str]]

List of all example asset IDs setup by the model owner

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

source: Optional[Literal["civitai", "huggingface", "other", "scenario"]]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Optional[Literal["copying", "failed", "new", 3 more]]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: Optional[List[str]]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_images_number: Optional[float]

The total number of training images

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
updated_at: Optional[str]

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

user_id: Optional[str]

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

class ModelListResponse: …
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[Class]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[Concept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[Epoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[EpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[Input]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[InputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[Parameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[PerformanceStats]

Aggregated performance stats

variants: List[PerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[PerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[Thumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[TrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[TrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[TrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[TrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[UiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, UiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[UiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, UiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[UiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[UiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[UiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[UiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelRetrieveResponse: …
model: Model
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelTransferResponse: …
model: Model
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelUpdateResponse: …
model: Model
id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

capabilities: List[Literal["3d23d", "audio2audio", "audio2txt", 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"
collection_ids: List[str]

A list of CollectionId this model belongs to

created_at: str

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

custom: bool

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

example_asset_ids: List[str]

List of all example asset IDs setup by the model owner

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
source: Literal["civitai", "huggingface", "other", "scenario"]

The source of the model

One of the following:
"civitai"
"huggingface"
"other"
"scenario"
status: Literal["copying", "failed", "new", 3 more]

The model status

One of the following:
"copying"
"failed"
"new"
"trained"
"training"
"training-canceled"
tags: List[str]

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

training_images_number: float

The total number of training images

type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
updated_at: str

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

access_restrictions: Optional[Literal[0, 100, 25, 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
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

class_: Optional[ModelClass]

The class of the model

category: str

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

concept_prompt: str

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

model_id: str

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

name: str

The class name (example: “Character Design”)

prompt: str

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

slug: str

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

status: Literal["published", "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: List[str]

Some example images URLs to showcase the class

compliant_model_ids: Optional[List[str]]

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[List[ModelConcept]]

The concepts is required for the type model: composition

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

disable_refund: Optional[bool]

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[str]

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

epochs: Optional[List[ModelEpoch]]

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

epoch: str

The epoch hash to identify the epoch

assets: Optional[List[ModelEpochAsset]]

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

asset_id: str

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

url: str

The url of the asset

inputs: Optional[List[ModelInput]]

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

name: str

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

type: Literal["boolean", "file", "file_array", 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"
allowed_values: Optional[List[object]]

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.

background_behavior: Optional[Literal["opaque", "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[bool]

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

cost_impact: Optional[bool]

Whether this input affects the model’s cost calculation

default: Optional[object]

The default value for the input

description: Optional[str]

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

group: Optional[str]

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

hint: Optional[str]

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

inputs: Optional[List[Dict[str, object]]]

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[Literal["3d", "audio", "document", 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 `file` and `file_array` inputs always expose a kind: when a model does not declare one, `image` is returned, which is the kind used at generation time.

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
label: Optional[str]

The label displayed in the UI for this input

mask_from: Optional[str]

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

max: Optional[float]

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

max_duration: Optional[float]

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.

max_length: Optional[float]

The maximum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

max_size: Optional[float]

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[float]

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

min_length: Optional[float]

The minimum allowed length for `string` and `model` inputs, in characters. For the array types (`string_array`, `model_array`) it bounds the NUMBER OF ITEMS instead — the length of each item is not constrained.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 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[bool]

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[str]

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

prompt: Optional[bool]

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

prompt_spark: Optional[bool]

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

required: Optional[ModelInputRequired]

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[bool]

Whether the input is always required

conditional_values: Optional[object]

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
if_defined: Optional[object]

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
if_not_defined: Optional[object]

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[float]

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

minimum1
model_keyword: Optional[str]

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

name: Optional[str]

The model name (example: “Cinematic Realism”)

negative_prompt_embedding: Optional[str]

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

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

parameters: Optional[ModelParameters]

The parameters of the model

age: Optional[str]

Age group of the voice (for professional cloning)

Only available for ElevenLabs voice training

batch_size: Optional[float]

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

Only available for Flux LoRA training

maximum4
minimum1
class_prompt: Optional[str]

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

Deprecated legacy training parameter.

clone_type: Optional[str]

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

Only available for ElevenLabs voice training

concept_prompt: Optional[str]

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[str]

Gender of the voice (for professional cloning)

Only available for ElevenLabs voice training

language: Optional[str]

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

Only available for ElevenLabs voice training

learning_rate: Optional[float]

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
learning_rate_text_encoder: Optional[float]

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
learning_rate_unet: Optional[float]

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

Deprecated legacy training parameter.

exclusiveMinimum
minimum0
lr_scheduler: Optional[Literal["constant", "constant-with-warmup", "cosine", 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"
max_train_steps: Optional[float]

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
nb_epochs: Optional[float]

The number of epochs to train for

Only available for Flux LoRA training

maximum30
minimum1
nb_repeats: Optional[float]

The number of times to repeat the training

Only available for Flux LoRA training

maximum30
minimum1
num_text_train_steps: Optional[float]

The number of training steps for the text encoder

Deprecated legacy training parameter.

maximum40000
minimum0
num_u_net_train_steps: Optional[float]

The number of training steps for the UNet

Deprecated legacy training parameter.

maximum40000
minimum0
optimize_for: Optional[Literal["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

prior_loss_weight: Optional[float]

The weight of prior preservation loss

Deprecated legacy training parameter.

exclusiveMinimum
maximum1.7976931348623157
minimum0
random_crop: Optional[bool]

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

Deprecated legacy training parameter.

random_crop_ratio: Optional[float]

Ratio of random crops

Deprecated legacy training parameter.

maximum1
minimum0
random_crop_scale: Optional[float]

Scale of random crops

Deprecated legacy training parameter.

maximum1
minimum0
rank: Optional[float]

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
remove_background_noise: Optional[bool]

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

sample_prompts: Optional[List[str]]

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

sample_source_images: Optional[List[str]]

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

scale_lr: Optional[bool]

Whether to scale the learning rate

Note: Legacy parameter, will be ignored

Deprecated legacy training parameter.

seed: Optional[float]

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

Deprecated legacy training parameter.

maximum9007199254740991
minimum0
text_encoder_training_ratio: Optional[float]

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
validation_frequency: Optional[float]

Validation frequency. Cannot be greater than maxTrainSteps value

Deprecated legacy training parameter.

minimum0
validation_prompt: Optional[str]

Validation prompt

Deprecated legacy training parameter.

voice_description: Optional[str]

Description of the voice characteristics

Only available for ElevenLabs voice training

wandb_key: Optional[str]

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

parent_model_id: Optional[str]

The id of the parent model

performance_stats: Optional[ModelPerformanceStats]

Aggregated performance stats

variants: List[ModelPerformanceStatsVariant]

Performance metrics per variant

capability: str

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

computed_at: str

When these stats were last computed (ISO date)

variant_key: str

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

arena_score: Optional[ModelPerformanceStatsVariantArenaScore]

External quality score from arena.ai leaderboard

arena_category: str

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

arena_model_name: str

Model name on arena.ai

fetched_at: str

When this score was last fetched (ISO date)

rank: float

Rank in the arena category

rating: float

ELO rating

rating_lower: float

ELO rating confidence interval lower bound

rating_upper: float

ELO rating confidence interval upper bound

votes: float

Number of human votes

cost_per_asset_max_cu: Optional[float]

Maximum cost per output asset (CU)

cost_per_asset_min_cu: Optional[float]

Minimum cost per output asset (CU)

cost_per_asset_p50_cu: Optional[float]

Median cost per output asset (CU)

inference_latency_p50_sec: Optional[float]

Inference latency P50 per output asset (seconds)

inference_latency_p75_sec: Optional[float]

Inference latency P75 per output asset (seconds)

resolution: Optional[str]

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

total_latency_p50_sec: Optional[float]

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

total_latency_p75_sec: Optional[float]

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

default: Optional[str]

Default variant key for quick model comparison

prompt_embedding: Optional[str]

Fine-tune the model’s inferences with prompt embedding

short_description: Optional[str]

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

soft_deletion_on: Optional[str]

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

thumbnail: Optional[ModelThumbnail]

A thumbnail for your model

asset_id: str

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

url: str

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

training_image_pairs: Optional[List[ModelTrainingImagePair]]

Array of training image pairs

instruction: Optional[str]

The instruction for the image pair, source to target

source_id: Optional[str]

The source asset ID (must be a training asset)

target_id: Optional[str]

The target asset ID (must be a training asset)

training_images: Optional[List[ModelTrainingImage]]

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

id: str

The training image ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

automatic_captioning: str

Automatic captioning of the image

created_at: str

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

description: str

Description for the image

download_url: str

The URL of the image

name: str

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

training_progress: Optional[ModelTrainingProgress]

Additional information about the training progress of the model

stage: Literal["pending", "pending-captcha", "queued-for-train", 3 more]

The stage of the request

One of the following:
"pending"
"pending-captcha"
"queued-for-train"
"ready-for-captcha"
"running-train"
"starting-train"
updated_at: float

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

captcha_image_url: Optional[str]

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[float]

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

progress: Optional[float]

The progress of the job

maximum1
minimum0
remaining_time_ms: Optional[float]

The remaining time in milliseconds

retryable_error: Optional[str]

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.

retry_count: Optional[float]

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.

started_at: Optional[float]

The timestamp in millisecond marking the start of the process

training_stats: Optional[ModelTrainingStats]

Additional information about the model’s training

ended_at: Optional[str]

The training end time as an ISO date string

queue_duration: Optional[float]

The training queued duration in seconds

started_at: Optional[str]

The training start time as an ISO date string

train_duration: Optional[float]

The training duration in seconds

ui_config: Optional[ModelUiConfig]

The UI configuration for the model

input_properties: Optional[Dict[str, ModelUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[ModelUiConfigLorasComponent]

Configuration for the loras component

label: str

The label of the component

model_input: str

The input name of the model (model_array)

scale_input: str

The input name of the scale (number_array)

model_id_input: Optional[str]

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

output_properties: Optional[Dict[str, ModelUiConfigOutputProperties]]

Configuration for the provider outputs exposed by exposeOutput

label: str
presets: Optional[List[ModelUiConfigPreset]]

Configuration for the presets

fields: List[str]
presets: object
resolution_component: Optional[ModelUiConfigResolutionComponent]

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[ModelUiConfigResolutionComponentPreset]

The resolution presets

height: float
label: str
width: float
width_input: str

The input name of the width

selects: Optional[Dict[str, object]]

Configuration for the selects

trigger_generate: Optional[ModelUiConfigTriggerGenerate]

Configuration for the trigger generate button

label: str
after: Optional[str]

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[Literal["bottom", "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"
user_id: Optional[str]

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

class ModelUpdateTagsResponse: …
added: List[str]

The list of added tags

deleted: List[str]

The list of deleted tags

ModelsDescription

Retrieve
models.description.retrieve(strmodel_id, DescriptionRetrieveParams**kwargs) -> DescriptionRetrieveResponse
GET/models/{modelId}/description
Update
models.description.update(strmodel_id, DescriptionUpdateParams**kwargs) -> DescriptionUpdateResponse
PUT/models/{modelId}/description
ModelsExpand Collapse
class DescriptionRetrieveResponse: …
description: Description
assets: List[DescriptionAsset]

The list of assets referenced by the Markdown {asset} tag in the description.

id: str

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

author_id: str

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

kind: Literal["3d", "audio", "document", 5 more]

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
mime_type: str

The mime type of the asset (example: “image/png”)

owner_id: str

The owner (project) ID (example: “proj_23tlk332lkht3kl2” or “team_dlkhgs23tlk3hlkth32lkht3kl2” for old teams)

privacy: Literal["private", "public", "unlisted"]

The privacy of the asset

One of the following:
"private"
"public"
"unlisted"
properties: DescriptionAssetProperties

The properties of the asset, content may depend on the kind of asset returned

size: float
animation_frame_count: Optional[float]

Number of animation frames if animations exist

bitrate: Optional[float]

Bitrate of the media in bits per second

bone_count: Optional[float]

Number of bones if skeleton exists

camera_mode: Optional[Literal["aerial", "interior", "turntable"]]

Recommended preview camera mode emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

One of the following:
"aerial"
"interior"
"turntable"
camera_trajectory: Optional[List[DescriptionAssetPropertiesCameraTrajectory]]

Recommended preview camera path emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

position: List[float]

Camera eye position in the splat’s world frame.

target: List[float]

Look-at point in the splat’s world frame.

fov: Optional[float]

Vertical field of view in degrees (defaults to 50 in the renderer).

channels: Optional[float]

Number of channels of the audio

char_count: Optional[float]

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[Literal["effect", "interview", "music", 5 more]]

Classification of the audio

One of the following:
"effect"
"interview"
"music"
"other"
"sound"
"speech"
"text"
"unknown"
codec_name: Optional[str]

Codec name of the media

description: Optional[str]

Description of the audio

dimensions: Optional[List[float]]

Bounding box dimensions [width, height, depth]

duration: Optional[float]

Duration of the media in seconds

face_count: Optional[float]

Number of faces/triangles in the mesh

format: Optional[str]

Format of the mesh file (e.g. ‘glb’, etc.)

frame_rate: Optional[float]

Frame rate of the video in frames per second

has_animations: Optional[bool]

Whether the mesh has animations

has_full_preview: Optional[bool]

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.

has_normals: Optional[bool]

Whether the mesh has normal vectors

has_skeleton: Optional[bool]

Whether the mesh has bones/skeleton

has_u_vs: Optional[bool]

Whether the mesh has UV coordinates

height: Optional[float]
nb_frames: Optional[float]

Number of frames in the video

preview: Optional[str]

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).

sample_rate: Optional[float]

Sample rate of the media in Hz

transcription: Optional[DescriptionAssetPropertiesTranscription]

Transcription of the audio

text: str
vertex_count: Optional[float]

Number of vertices in the mesh

width: Optional[float]
word_count: Optional[float]

Number of whitespace-separated words in the text

source: Literal["3d23d", "3d23d:texture", "3d:texture", 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: str

Signed URL to get the asset content

original_file_url: Optional[str]

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.

original_mime_type: Optional[Literal["application/gzip", "application/json", "application/octet-stream", 46 more]]

The mime type of the original file url.

The original file is stored under a key that carries no extension, so this is the only way to know which format originalFileUrl serves (e.g. an HDRi skybox exposes a JPEG preview as url and its .exr or .hdr file as the original). Omitted when the stored format could not be determined.

One of the following:
"application/gzip"
"application/json"
"application/octet-stream"
"application/pdf"
"application/safetensors"
"application/vnd.autodesk.fbx"
"application/x-authorware-bin"
"application/x-zip-compressed"
"application/x.autodesk.fbx"
"application/zip"
"audio/m4a"
"audio/mpeg"
"audio/ogg"
"audio/wav"
"image/aces"
"image/avif"
"image/bmp"
"image/gif"
"image/heic"
"image/jpeg"
"image/png"
"image/svg+xml"
"image/tiff"
"image/vnd.radiance"
"image/webp"
"image/x-exr"
"model/glb"
"model/gltf+json"
"model/gltf-binary"
"model/ksplat"
"model/mtl"
"model/obj"
"model/ply"
"model/sog"
"model/splat"
"model/spz"
"model/stl"
"model/vnd.collada+xml"
"model/vnd.ms-package.3dmanufacturing-3dmodel+xml"
"model/x-3d-vox"
"model/x-blender"
"model/x-fbx"
"model/x-maya-ascii"
"model/x-maya-binary"
"model/x3d+xml"
"text/plain"
"video/mp4"
"video/quicktime"
"video/webm"
preview: Optional[DescriptionAssetPreview]

The asset’s preview.

Contains the assetId and the url of the preview.

asset_id: str
url: str
thumbnail: Optional[DescriptionAssetThumbnail]

The asset’s thumbnail.

Contains the assetId and the url of the thumbnail.

asset_id: str
url: str
models: List[DescriptionModel]

The list of models referenced by the Markdown {model} tag in the description.

id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

name: Optional[str]

The model name (example: “Cinematic Realism”)

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

short_description: Optional[str]

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

value: str

The markdown description of the model (ex: # My model). We allow the {asset:<assetId>} and {model:<modelId>} tags.

class DescriptionUpdateResponse: …
description: Description
assets: List[DescriptionAsset]

The list of assets referenced by the Markdown {asset} tag in the description.

id: str

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

author_id: str

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

kind: Literal["3d", "audio", "document", 5 more]

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
mime_type: str

The mime type of the asset (example: “image/png”)

owner_id: str

The owner (project) ID (example: “proj_23tlk332lkht3kl2” or “team_dlkhgs23tlk3hlkth32lkht3kl2” for old teams)

privacy: Literal["private", "public", "unlisted"]

The privacy of the asset

One of the following:
"private"
"public"
"unlisted"
properties: DescriptionAssetProperties

The properties of the asset, content may depend on the kind of asset returned

size: float
animation_frame_count: Optional[float]

Number of animation frames if animations exist

bitrate: Optional[float]

Bitrate of the media in bits per second

bone_count: Optional[float]

Number of bones if skeleton exists

camera_mode: Optional[Literal["aerial", "interior", "turntable"]]

Recommended preview camera mode emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

One of the following:
"aerial"
"interior"
"turntable"
camera_trajectory: Optional[List[DescriptionAssetPropertiesCameraTrajectory]]

Recommended preview camera path emitted by the generator (gsplat route); passed through to mesh-rendering verbatim.

position: List[float]

Camera eye position in the splat’s world frame.

target: List[float]

Look-at point in the splat’s world frame.

fov: Optional[float]

Vertical field of view in degrees (defaults to 50 in the renderer).

channels: Optional[float]

Number of channels of the audio

char_count: Optional[float]

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[Literal["effect", "interview", "music", 5 more]]

Classification of the audio

One of the following:
"effect"
"interview"
"music"
"other"
"sound"
"speech"
"text"
"unknown"
codec_name: Optional[str]

Codec name of the media

description: Optional[str]

Description of the audio

dimensions: Optional[List[float]]

Bounding box dimensions [width, height, depth]

duration: Optional[float]

Duration of the media in seconds

face_count: Optional[float]

Number of faces/triangles in the mesh

format: Optional[str]

Format of the mesh file (e.g. ‘glb’, etc.)

frame_rate: Optional[float]

Frame rate of the video in frames per second

has_animations: Optional[bool]

Whether the mesh has animations

has_full_preview: Optional[bool]

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.

has_normals: Optional[bool]

Whether the mesh has normal vectors

has_skeleton: Optional[bool]

Whether the mesh has bones/skeleton

has_u_vs: Optional[bool]

Whether the mesh has UV coordinates

height: Optional[float]
nb_frames: Optional[float]

Number of frames in the video

preview: Optional[str]

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).

sample_rate: Optional[float]

Sample rate of the media in Hz

transcription: Optional[DescriptionAssetPropertiesTranscription]

Transcription of the audio

text: str
vertex_count: Optional[float]

Number of vertices in the mesh

width: Optional[float]
word_count: Optional[float]

Number of whitespace-separated words in the text

source: Literal["3d23d", "3d23d:texture", "3d:texture", 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: str

Signed URL to get the asset content

original_file_url: Optional[str]

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.

original_mime_type: Optional[Literal["application/gzip", "application/json", "application/octet-stream", 46 more]]

The mime type of the original file url.

The original file is stored under a key that carries no extension, so this is the only way to know which format originalFileUrl serves (e.g. an HDRi skybox exposes a JPEG preview as url and its .exr or .hdr file as the original). Omitted when the stored format could not be determined.

One of the following:
"application/gzip"
"application/json"
"application/octet-stream"
"application/pdf"
"application/safetensors"
"application/vnd.autodesk.fbx"
"application/x-authorware-bin"
"application/x-zip-compressed"
"application/x.autodesk.fbx"
"application/zip"
"audio/m4a"
"audio/mpeg"
"audio/ogg"
"audio/wav"
"image/aces"
"image/avif"
"image/bmp"
"image/gif"
"image/heic"
"image/jpeg"
"image/png"
"image/svg+xml"
"image/tiff"
"image/vnd.radiance"
"image/webp"
"image/x-exr"
"model/glb"
"model/gltf+json"
"model/gltf-binary"
"model/ksplat"
"model/mtl"
"model/obj"
"model/ply"
"model/sog"
"model/splat"
"model/spz"
"model/stl"
"model/vnd.collada+xml"
"model/vnd.ms-package.3dmanufacturing-3dmodel+xml"
"model/x-3d-vox"
"model/x-blender"
"model/x-fbx"
"model/x-maya-ascii"
"model/x-maya-binary"
"model/x3d+xml"
"text/plain"
"video/mp4"
"video/quicktime"
"video/webm"
preview: Optional[DescriptionAssetPreview]

The asset’s preview.

Contains the assetId and the url of the preview.

asset_id: str
url: str
thumbnail: Optional[DescriptionAssetThumbnail]

The asset’s thumbnail.

Contains the assetId and the url of the thumbnail.

asset_id: str
url: str
models: List[DescriptionModel]

The list of models referenced by the Markdown {model} tag in the description.

id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

privacy: Literal["private", "public", "unlisted"]

The privacy of the model (default: private)

One of the following:
"private"
"public"
"unlisted"
type: Literal["custom", "elevenlabs-voice", "flux.1", 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"
author_id: Optional[str]

The author user ID (example: “user_VFhihHKMRZyDDnZAJwLb2Q”)

name: Optional[str]

The model name (example: “Cinematic Realism”)

owner_id: Optional[str]

The owner ID (example: “team_VFhihHKMRZyDDnZAJwLb2Q”)

short_description: Optional[str]

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

value: str

The markdown description of the model (ex: # My model). We allow the {asset:<assetId>} and {model:<modelId>} tags.

ModelsExamples

List
models.examples.list(strmodel_id, ExampleListParams**kwargs) -> ExampleListResponse
GET/models/{modelId}/examples
Update
models.examples.update(strmodel_id, ExampleUpdateParams**kwargs) -> ExampleUpdateResponse
PUT/models/{modelId}/examples
ModelsExpand Collapse
class ExampleListResponse: …
examples: List[Example]
asset: ExampleAsset

Asset generated by the inference

id: str

The asset ID (example: “asset_GTrL3mq4SXWyMxkOHRxlpw”)

author_id: str

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

collection_ids: List[str]

A list of CollectionId this asset belongs to

created_at: str

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

edit_capabilities: List[Literal["DETECTION", "GENERATIVE_FILL", "PIXELATE", 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: Literal["3d", "audio", "document", 5 more]

The kind of asset

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
metadata: ExampleAssetMetadata

Metadata of the asset with some additional information

kind: Literal["3d", "audio", "document", 5 more]
One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"text"
"video"
type: Literal["3d-texture", "3d-texture-albedo", "3d-texture-metallic", 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[float]

How angular is the surface? 0 is like a sphere, 1 is like a mechanical object

maximum1
minimum0
aspect_ratio: Optional[str]

The optional aspect ratio given for the generation, only applicable for some models

background_opacity: Optional[float]
maximum255
minimum0
base_model_id: Optional[str]

The baseModelId that maybe changed at inference time

bbox: Optional[List[float]]

A bounding box around the object of interest, in the format [x1, y1, x2, y2].

better_quality: Optional[bool]
canny_structure_image: Optional[str]

The control image already processed by canny detector. Must reference an existing AssetId.

clustering: Optional[bool]

Activate clustering.

color_correction: Optional[bool]

Ensure upscaled tile have the same color histogram as original tile.

color_mode: Optional[str]
color_precision: Optional[float]
concepts: Optional[List[ExampleAssetMetadataConcept]]

Flux Kontext LoRA to style the image. For Flux Kontext Prompt Editing.

model_id: str

The model ID (example: “model_eyVcnFJcR92BxBkz7N6g5w”)

scale: float

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

maximum2
minimum-2
model_epoch: Optional[str]

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

contours: Optional[List[List[List[List[float]]]]]
control_end: Optional[float]

End step for control.

copied_at: Optional[str]

The date when the asset was copied to a project

corner_threshold: Optional[float]
creativity: Optional[float]

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
creativity_decay: Optional[float]

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
default_parameters: Optional[bool]

If true, use the default parameters

depth_fidelity: Optional[float]

The depth fidelity if a depth image provided

maximum100
minimum0
depth_image: Optional[str]

The control image processed by depth estimator. Must reference an existing AssetId.

details_level: Optional[float]

Amount of details to remove or add

maximum50
minimum-50
dilate: Optional[float]
maximum30
minimum0
factor: Optional[float]

Contrast factor for Grayscale detector

filter_speckle: Optional[float]
fractality: Optional[float]

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
geometry_enforcement: Optional[float]

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[float]

The guidance used to generate this asset

half_mode: Optional[bool]
hdr: Optional[float]
height: Optional[float]
high_threshold: Optional[float]

High threshold for Canny detector

horizontal_expansion_ratio: Optional[float]

(deprecated) Horizontal expansion ratio.

maximum2
minimum1
image: Optional[str]

The input image to process. Must reference an existing AssetId or be a data URL.

image_fidelity: Optional[float]

Strengthen the similarity to the original image during the upscale. Default: optimized for your preset and style.

maximum100
minimum0
image_type: Optional[Literal["seamfull", "skybox", "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"
inference_id: Optional[str]

The id of the Inference describing how this image was generated

input_fidelity: Optional[Literal["high", "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"
input_location: Optional[Literal["bottom", "left", "middle", 2 more]]

Location of the input image in the output.

One of the following:
"bottom"
"left"
"middle"
"right"
"top"
invert: Optional[bool]

To invert the relief

keypoint_threshold: Optional[float]

How polished is the surface? 0 is like a rough surface, 1 is like a mirror

maximum1
minimum0
layer_difference: Optional[float]
length_threshold: Optional[float]
lock_expires_at: Optional[str]

The ISO timestamp when the lock on the canvas will expire

low_threshold: Optional[float]

Low threshold for Canny detector

mask: Optional[str]

The mask used for the asset generation or editing

max_iterations: Optional[float]
max_threshold: Optional[float]

Maximum threshold for Grayscale conversion

min_threshold: Optional[float]

Minimum threshold for Grayscale conversion

modality: Optional[Literal["canny", "depth", "grayscale", 7 more]]

Modality to detect

One of the following:
"canny"
"depth"
"grayscale"
"lineart_anime"
"mlsd"
"normal"
"pose"
"scribble"
"segmentation"
"sketch"
mode: Optional[str]
model_id: Optional[str]

The modelId used to generate this asset

model_type: Optional[Literal["custom", "elevenlabs-voice", "flux.1", 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[str]
nb_masks: Optional[float]
negative_prompt: Optional[str]

The negative prompt used to generate this asset

negative_prompt_strength: Optional[float]

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
num_inference_steps: Optional[float]

The number of denoising steps for each image generation.

maximum50
minimum5
num_outputs: Optional[float]

The number of outputs to generate.

maximum8
minimum1
original_asset_id: Optional[str]
output_index: Optional[float]
overlap_percentage: Optional[float]

Overlap percentage for the output image.

maximum0.5
minimum0
override_embeddings: Optional[bool]

Override the embeddings of the model. Only your prompt and negativePrompt will be used. Use with caution.

parent_id: Optional[str]
parent_job_id: Optional[str]
path_precision: Optional[float]
points: Optional[List[List[float]]]

List of points (label, x, y) in the image where label = 0 for background and 1 for object.

polished: Optional[float]

How polished is the surface? 0 is like a rough surface, 1 is like a mirror

maximum1
minimum0
preset: Optional[str]
progress_percent: Optional[float]
prompt: Optional[str]

The prompt that guided the asset generation or editing

prompt_fidelity: Optional[float]

Increase the fidelity to the prompt during upscale. Default: optimized for your preset and style.

maximum100
minimum0
raised: Optional[float]

How raised is the surface? 0 is flat like water, 1 is like a very rough rock

maximum1
minimum0
reference_images: Optional[List[str]]

The reference images used for the asset generation or editing

refinement_steps: Optional[float]

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
remove_background: Optional[bool]

Remove background for Grayscale detector

resize_option: Optional[float]

Size proportion of the input image in the output.

maximum1
minimum0.1
result_contours: Optional[bool]

Boolean to output the contours.

result_image: Optional[bool]

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.

result_mask: Optional[bool]

Boolean to return the binary masks in the response. Mutually exclusive with resultImage — passing both as true returns a 400 error.

root_parent_id: Optional[str]
save_flipbook: Optional[bool]

Save a flipbook of the texture. Deactivated when the input texture is larger than 2048x2048px

scaling_factor: Optional[float]

Scaling factor (when targetWidth not specified)

maximum16
minimum1
scheduler: Optional[str]

The scheduler used to generate this asset

seed: Optional[str]

The seed used to generate this asset. <!> Can be a string or a number in some cases <!>.

sharpen: Optional[bool]

Sharpen tiles.

shiny: Optional[float]

How shiny is the surface? 0 is like a matte surface, 1 is like a diamond

maximum1
minimum0
size: Optional[float]
sketch: Optional[bool]

Activate sketch detection instead of canny.

source_project_id: Optional[str]
splice_threshold: Optional[float]
strength: Optional[float]

The strength

Only available for the flux-kontext LoRA model.

structure_fidelity: Optional[float]

Strength for the input image structure preservation

maximum100
minimum0
structure_image: Optional[str]

The control image for structure. A canny detector will be applied to this image. Must reference an existing AssetId.

style: Optional[Literal["3d-cartoon", "3d-rendered", "anime", 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"