Skip to content
Get started

Workflows

List
workflows.list(WorkflowListParams**kwargs) -> SyncWorkflowsCursor[WorkflowListResponse]
GET/workflows
Create
workflows.create(WorkflowCreateParams**kwargs) -> WorkflowCreateResponse
POST/workflows
Get Tags
workflows.get_tags(WorkflowGetTagsParams**kwargs) -> WorkflowGetTagsResponse
GET/workflows/tags
Retrieve
workflows.retrieve(strworkflow_id) -> WorkflowRetrieveResponse
GET/workflows/{workflowId}
Update
workflows.update(strworkflow_id, WorkflowUpdateParams**kwargs) -> WorkflowUpdateResponse
PUT/workflows/{workflowId}
Delete
workflows.delete(strworkflow_id) -> object
DELETE/workflows/{workflowId}
Run
workflows.run(strworkflow_id, WorkflowRunParams**kwargs) -> WorkflowRunResponse
PUT/workflows/{workflowId}/run
User Approval
workflows.user_approval(strworkflow_id, WorkflowUserApprovalParams**kwargs) -> WorkflowUserApprovalResponse
PUT/workflows/{workflowId}/user-approval
Approve User
Deprecated
workflows.approve_user(strworkflow_id, WorkflowApproveUserParams**kwargs) -> UnnamedTypeWithNoPropertyInfoOrParent0
PUT/workflows/{workflowId}/user-approval
ModelsExpand Collapse
class WorkflowListResponse:
id: str

Unique identifier of the workflow.

author_id: str

User that created the workflow.

created_at: str

ISO string

description: str

Full description of what the workflow does.

editor_info: Dict[str, object]

The UI data about the workflow. This is managed by scenario webapp.

flow: List[Flow]

The flow of the workflow.

id: str

The id of the node.

type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[FlowInput]]

The inputs of the node.

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.

items: Optional[List[List[FlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[FlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[FlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[FlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[FlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

logic: Optional[FlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[FlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

inputs: List[Input]

The inputs of the workflow.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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
name: str

Human-readable name of the workflow.

owner_id: str

Project that owns the workflow.

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

Visibility setting for the workflow.

One of the following:
"private"
"public"
"unlisted"
short_description: str

Short summary of the workflow.

status: Literal["deleted", "draft", "ready"]

Current lifecycle status (draft, ready, deleted).

One of the following:
"deleted"
"draft"
"ready"
tag_set: List[str]

The tag set of the workflow.

updated_at: str

ISO string

after: Optional[After]

A representation of an asset after being processed by the workflow

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

before: Optional[Before]

A representation of an asset before being processed by the workflow

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

embedding: Optional[object]

Embedding is a map of embedding version into embedding date

is_locked: Optional[bool]

Whether the workflow is locked. Locked workflows cannot be modified or deleted except by the author or a project admin.

last_indexed_at: Optional[datetime]
formatdate-time
last_indexing_type: Optional[Literal["CREATE", "DELETE", "UPDATE"]]

The type of indexing operation to perform in MeiliSearch

One of the following:
"CREATE"
"DELETE"
"UPDATE"
last_ready_flow_updated_at: Optional[datetime]

Timestamp when the workflow flow was last saved as a Ready (App) snapshot. Used to compute the WorkflowNodes snapshot key. Only set for workflows that have been in the Ready state.

formatdate-time
locked_state_changed_at: Optional[str]

ISO string timestamp when lock state was last changed.

locked_state_changed_by: Optional[str]

UserId of the user who last changed the lock state.

output_asset_kinds: Optional[List[Literal["3d", "audio", "document", 4 more]]]

Asset kinds produced by this workflow (if specified).

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"video"
thumbnail: Optional[Thumbnail]

Currently the thumbnail is identical to the after asset.

asset_id: str
url: str
ui_config: Optional[UiConfig]

The UI configuration for the workflow. This is managed by scenario webapp.

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

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"
class WorkflowCreateResponse:
workflow: Workflow
id: str

Unique identifier of the workflow.

author_id: str

User that created the workflow.

created_at: str

ISO string

description: str

Full description of what the workflow does.

editor_info: Dict[str, object]

The UI data about the workflow. This is managed by scenario webapp.

flow: List[WorkflowFlow]

The flow of the workflow.

id: str

The id of the node.

type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[WorkflowFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[WorkflowFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

logic: Optional[WorkflowFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[WorkflowFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

inputs: List[WorkflowInput]

The inputs of the workflow.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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[WorkflowInputRequired]

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
name: str

Human-readable name of the workflow.

owner_id: str

Project that owns the workflow.

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

Visibility setting for the workflow.

One of the following:
"private"
"public"
"unlisted"
short_description: str

Short summary of the workflow.

status: Literal["deleted", "draft", "ready"]

Current lifecycle status (draft, ready, deleted).

One of the following:
"deleted"
"draft"
"ready"
tag_set: List[str]

The tag set of the workflow.

updated_at: str

ISO string

after: Optional[WorkflowAfter]

A representation of an asset after being processed by the workflow

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

before: Optional[WorkflowBefore]

A representation of an asset before being processed by the workflow

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

embedding: Optional[object]

Embedding is a map of embedding version into embedding date

is_locked: Optional[bool]

Whether the workflow is locked. Locked workflows cannot be modified or deleted except by the author or a project admin.

last_indexed_at: Optional[datetime]
formatdate-time
last_indexing_type: Optional[Literal["CREATE", "DELETE", "UPDATE"]]

The type of indexing operation to perform in MeiliSearch

One of the following:
"CREATE"
"DELETE"
"UPDATE"
last_ready_flow_updated_at: Optional[datetime]

Timestamp when the workflow flow was last saved as a Ready (App) snapshot. Used to compute the WorkflowNodes snapshot key. Only set for workflows that have been in the Ready state.

formatdate-time
locked_state_changed_at: Optional[str]

ISO string timestamp when lock state was last changed.

locked_state_changed_by: Optional[str]

UserId of the user who last changed the lock state.

output_asset_kinds: Optional[List[Literal["3d", "audio", "document", 4 more]]]

Asset kinds produced by this workflow (if specified).

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"video"
thumbnail: Optional[WorkflowThumbnail]

Currently the thumbnail is identical to the after asset.

asset_id: str
url: str
ui_config: Optional[WorkflowUiConfig]

The UI configuration for the workflow. This is managed by scenario webapp.

input_properties: Optional[Dict[str, WorkflowUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[WorkflowUiConfigLorasComponent]

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

presets: Optional[List[WorkflowUiConfigPreset]]

Configuration for the presets

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

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[WorkflowUiConfigResolutionComponentPreset]

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

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"
class WorkflowGetTagsResponse:
tags: List[str]

Array of unique tags from workflows in the project

class WorkflowRetrieveResponse:
workflow: Workflow
id: str

Unique identifier of the workflow.

author_id: str

User that created the workflow.

created_at: str

ISO string

description: str

Full description of what the workflow does.

editor_info: Dict[str, object]

The UI data about the workflow. This is managed by scenario webapp.

flow: List[WorkflowFlow]

The flow of the workflow.

id: str

The id of the node.

type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[WorkflowFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[WorkflowFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

logic: Optional[WorkflowFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[WorkflowFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

inputs: List[WorkflowInput]

The inputs of the workflow.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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[WorkflowInputRequired]

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
name: str

Human-readable name of the workflow.

owner_id: str

Project that owns the workflow.

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

Visibility setting for the workflow.

One of the following:
"private"
"public"
"unlisted"
short_description: str

Short summary of the workflow.

status: Literal["deleted", "draft", "ready"]

Current lifecycle status (draft, ready, deleted).

One of the following:
"deleted"
"draft"
"ready"
tag_set: List[str]

The tag set of the workflow.

updated_at: str

ISO string

after: Optional[WorkflowAfter]

A representation of an asset after being processed by the workflow

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

before: Optional[WorkflowBefore]

A representation of an asset before being processed by the workflow

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

embedding: Optional[object]

Embedding is a map of embedding version into embedding date

is_locked: Optional[bool]

Whether the workflow is locked. Locked workflows cannot be modified or deleted except by the author or a project admin.

last_indexed_at: Optional[datetime]
formatdate-time
last_indexing_type: Optional[Literal["CREATE", "DELETE", "UPDATE"]]

The type of indexing operation to perform in MeiliSearch

One of the following:
"CREATE"
"DELETE"
"UPDATE"
last_ready_flow_updated_at: Optional[datetime]

Timestamp when the workflow flow was last saved as a Ready (App) snapshot. Used to compute the WorkflowNodes snapshot key. Only set for workflows that have been in the Ready state.

formatdate-time
locked_state_changed_at: Optional[str]

ISO string timestamp when lock state was last changed.

locked_state_changed_by: Optional[str]

UserId of the user who last changed the lock state.

output_asset_kinds: Optional[List[Literal["3d", "audio", "document", 4 more]]]

Asset kinds produced by this workflow (if specified).

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"video"
thumbnail: Optional[WorkflowThumbnail]

Currently the thumbnail is identical to the after asset.

asset_id: str
url: str
ui_config: Optional[WorkflowUiConfig]

The UI configuration for the workflow. This is managed by scenario webapp.

input_properties: Optional[Dict[str, WorkflowUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[WorkflowUiConfigLorasComponent]

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

presets: Optional[List[WorkflowUiConfigPreset]]

Configuration for the presets

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

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[WorkflowUiConfigResolutionComponentPreset]

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

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"
class WorkflowUpdateResponse:
workflow: Workflow
id: str

Unique identifier of the workflow.

author_id: str

User that created the workflow.

created_at: str

ISO string

description: str

Full description of what the workflow does.

editor_info: Dict[str, object]

The UI data about the workflow. This is managed by scenario webapp.

flow: List[WorkflowFlow]

The flow of the workflow.

id: str

The id of the node.

type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[WorkflowFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[WorkflowFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

logic: Optional[WorkflowFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[WorkflowFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

inputs: List[WorkflowInput]

The inputs of the workflow.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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[WorkflowInputRequired]

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
name: str

Human-readable name of the workflow.

owner_id: str

Project that owns the workflow.

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

Visibility setting for the workflow.

One of the following:
"private"
"public"
"unlisted"
short_description: str

Short summary of the workflow.

status: Literal["deleted", "draft", "ready"]

Current lifecycle status (draft, ready, deleted).

One of the following:
"deleted"
"draft"
"ready"
tag_set: List[str]

The tag set of the workflow.

updated_at: str

ISO string

after: Optional[WorkflowAfter]

A representation of an asset after being processed by the workflow

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

before: Optional[WorkflowBefore]

A representation of an asset before being processed by the workflow

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

embedding: Optional[object]

Embedding is a map of embedding version into embedding date

is_locked: Optional[bool]

Whether the workflow is locked. Locked workflows cannot be modified or deleted except by the author or a project admin.

last_indexed_at: Optional[datetime]
formatdate-time
last_indexing_type: Optional[Literal["CREATE", "DELETE", "UPDATE"]]

The type of indexing operation to perform in MeiliSearch

One of the following:
"CREATE"
"DELETE"
"UPDATE"
last_ready_flow_updated_at: Optional[datetime]

Timestamp when the workflow flow was last saved as a Ready (App) snapshot. Used to compute the WorkflowNodes snapshot key. Only set for workflows that have been in the Ready state.

formatdate-time
locked_state_changed_at: Optional[str]

ISO string timestamp when lock state was last changed.

locked_state_changed_by: Optional[str]

UserId of the user who last changed the lock state.

output_asset_kinds: Optional[List[Literal["3d", "audio", "document", 4 more]]]

Asset kinds produced by this workflow (if specified).

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"video"
thumbnail: Optional[WorkflowThumbnail]

Currently the thumbnail is identical to the after asset.

asset_id: str
url: str
ui_config: Optional[WorkflowUiConfig]

The UI configuration for the workflow. This is managed by scenario webapp.

input_properties: Optional[Dict[str, WorkflowUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[WorkflowUiConfigLorasComponent]

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

presets: Optional[List[WorkflowUiConfigPreset]]

Configuration for the presets

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

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[WorkflowUiConfigResolutionComponentPreset]

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

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"
class WorkflowRunResponse:
job: Job
created_at: str

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

job_id: str

The job ID (example: “job_ocZCnG1Df35XRL1QyCZSRxAG8”)

job_type: Literal["assets-download", "canvas-export", "caption", 36 more]

The type of job

One of the following:
"assets-download"
"canvas-export"
"caption"
"caption-llava"
"custom"
"describe-style"
"detection"
"embed"
"flux"
"flux-model-training"
"generate-prompt"
"image-generation"
"image-prompt-editing"
"inference"
"mesh-preview-rendering"
"model-download"
"model-import"
"model-training"
"musubi-model-training"
"openai-image-generation"
"patch-image"
"pixelate"
"reframe"
"remove-background"
"repaint"
"restyle"
"segment"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"skybox-upscale-360"
"texture"
"translate"
"upload"
"upscale"
"upscale-skybox"
"upscale-texture"
"vectorize"
"workflow"
metadata: JobMetadata

Metadata of the job with some additional information

asset_ids: Optional[List[str]]

List of produced assets for this job

error: Optional[str]

Eventual error for the job

flow: Optional[List[JobMetadataFlow]]

The flow of the job. Only available for workflow jobs.

id: str

The id of the node.

status: Literal["failure", "pending", "processing", 2 more]

The status of the node. Only available for WorkflowJob nodes.

One of the following:
"failure"
"pending"
"processing"
"skipped"
"success"
type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
assets: Optional[List[JobMetadataFlowAsset]]

List of produced assets for this node.

asset_id: str
url: str
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[JobMetadataFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[JobMetadataFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[JobMetadataFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[JobMetadataFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[JobMetadataFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[JobMetadataFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

job_id: Optional[str]

If the flow is part of a WorkflowJob, this is the jobId for the node. jobId is only available for nodes started. A node “Pending” for a running workflow job is not started.

logic: Optional[JobMetadataFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[JobMetadataFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

output: Optional[object]

The output of the node. Only available for logic nodes.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

hint: Optional[str]

Actionable hint for the user explaining what went wrong and how to resolve it.

input: Optional[Dict[str, object]]

The inputs for the job

output: Optional[Dict[str, object]]

May contain the output of the job for specific custom models jobs. Only available for custom models which generate non-assets outputs. Example: LLM text results.

output_model_id: Optional[str]

For voice-clone jobs: the ID of the model being trained.

workflow_id: Optional[str]

The workflow ID of the job if job is part of a workflow.

workflow_job_id: Optional[str]

The workflow job ID of the job if job is part of a workflow job.

progress: float

Progress of the job (between 0 and 1)

status: Literal["canceled", "failure", "finalizing", 5 more]

The current status of the job

One of the following:
"canceled"
"failure"
"finalizing"
"in-progress"
"pending"
"queued"
"success"
"warming-up"
status_history: List[JobStatusHistory]

The history of the different statuses the job went through with the ISO string date of when the job reached each statuses.

date: str
status: Literal["canceled", "failure", "finalizing", 5 more]
One of the following:
"canceled"
"failure"
"finalizing"
"in-progress"
"pending"
"queued"
"success"
"warming-up"
updated_at: str

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

author_id: Optional[str]

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

billing: Optional[JobBilling]

The billing of the job

cu_cost: float
cu_discount: float
owner_id: Optional[str]

The owner ID (example: “team_U3Qmc8PCdWXwAQJ4Dvw4tV6D”)

workflow: Workflow
id: str

Unique identifier of the workflow.

author_id: str

User that created the workflow.

created_at: str

ISO string

description: str

Full description of what the workflow does.

editor_info: Dict[str, object]

The UI data about the workflow. This is managed by scenario webapp.

flow: List[WorkflowFlow]

The flow of the workflow.

id: str

The id of the node.

type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[WorkflowFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[WorkflowFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[WorkflowFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[WorkflowFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

logic: Optional[WorkflowFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[WorkflowFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

inputs: List[WorkflowInput]

The inputs of the workflow.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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[WorkflowInputRequired]

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
name: str

Human-readable name of the workflow.

owner_id: str

Project that owns the workflow.

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

Visibility setting for the workflow.

One of the following:
"private"
"public"
"unlisted"
short_description: str

Short summary of the workflow.

status: Literal["deleted", "draft", "ready"]

Current lifecycle status (draft, ready, deleted).

One of the following:
"deleted"
"draft"
"ready"
tag_set: List[str]

The tag set of the workflow.

updated_at: str

ISO string

after: Optional[WorkflowAfter]

A representation of an asset after being processed by the workflow

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

before: Optional[WorkflowBefore]

A representation of an asset before being processed by the workflow

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

embedding: Optional[object]

Embedding is a map of embedding version into embedding date

is_locked: Optional[bool]

Whether the workflow is locked. Locked workflows cannot be modified or deleted except by the author or a project admin.

last_indexed_at: Optional[datetime]
formatdate-time
last_indexing_type: Optional[Literal["CREATE", "DELETE", "UPDATE"]]

The type of indexing operation to perform in MeiliSearch

One of the following:
"CREATE"
"DELETE"
"UPDATE"
last_ready_flow_updated_at: Optional[datetime]

Timestamp when the workflow flow was last saved as a Ready (App) snapshot. Used to compute the WorkflowNodes snapshot key. Only set for workflows that have been in the Ready state.

formatdate-time
locked_state_changed_at: Optional[str]

ISO string timestamp when lock state was last changed.

locked_state_changed_by: Optional[str]

UserId of the user who last changed the lock state.

output_asset_kinds: Optional[List[Literal["3d", "audio", "document", 4 more]]]

Asset kinds produced by this workflow (if specified).

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"video"
thumbnail: Optional[WorkflowThumbnail]

Currently the thumbnail is identical to the after asset.

asset_id: str
url: str
ui_config: Optional[WorkflowUiConfig]

The UI configuration for the workflow. This is managed by scenario webapp.

input_properties: Optional[Dict[str, WorkflowUiConfigInputProperties]]

Configuration for the input properties

collapsed: Optional[bool]
loras_component: Optional[WorkflowUiConfigLorasComponent]

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

presets: Optional[List[WorkflowUiConfigPreset]]

Configuration for the presets

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

Configuration for the resolution component

height_input: str

The input name of the height

label: str

The label of the component

presets: List[WorkflowUiConfigResolutionComponentPreset]

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

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"
class WorkflowUserApprovalResponse:
job: Job
created_at: str

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

job_id: str

The job ID (example: “job_ocZCnG1Df35XRL1QyCZSRxAG8”)

job_type: Literal["assets-download", "canvas-export", "caption", 36 more]

The type of job

One of the following:
"assets-download"
"canvas-export"
"caption"
"caption-llava"
"custom"
"describe-style"
"detection"
"embed"
"flux"
"flux-model-training"
"generate-prompt"
"image-generation"
"image-prompt-editing"
"inference"
"mesh-preview-rendering"
"model-download"
"model-import"
"model-training"
"musubi-model-training"
"openai-image-generation"
"patch-image"
"pixelate"
"reframe"
"remove-background"
"repaint"
"restyle"
"segment"
"skybox-3d"
"skybox-base-360"
"skybox-hdri"
"skybox-upscale-360"
"texture"
"translate"
"upload"
"upscale"
"upscale-skybox"
"upscale-texture"
"vectorize"
"workflow"
metadata: JobMetadata

Metadata of the job with some additional information

asset_ids: Optional[List[str]]

List of produced assets for this job

error: Optional[str]

Eventual error for the job

flow: Optional[List[JobMetadataFlow]]

The flow of the job. Only available for workflow jobs.

id: str

The id of the node.

status: Literal["failure", "pending", "processing", 2 more]

The status of the node. Only available for WorkflowJob nodes.

One of the following:
"failure"
"pending"
"processing"
"skipped"
"success"
type: Literal["custom-model", "for-each", "generate-prompt", 7 more]

The type of the job for the node.

One of the following:
"custom-model"
"for-each"
"generate-prompt"
"list"
"logic"
"model"
"remove-background"
"transform"
"user-approval"
"workflow"
assets: Optional[List[JobMetadataFlowAsset]]

List of produced assets for this node.

asset_id: str
url: str
count: Optional[float]

Fixed number of iterations for a ForEach node. When set, the loop runs exactly count times regardless of array input. When not set, the loop iterates over the resolved array input. Only available for ForEach nodes.

depends_on: Optional[List[str]]

The nodes that this node depends on. Only available for nodes that have dependencies. Mainly used for user approval nodes.

include_outputs_in_workflow_job: Optional[Literal[true]]

If true, the outputs of this node will be included in the workflow job’s final output. Only applicable to producing nodes (custom-model, inference, etc.). By default, only last nodes (nodes not referenced by other nodes) contribute to outputs. Set this to true to also include intermediate nodes in the final output. Note: This should only be set to true or left undefined.

inputs: Optional[List[JobMetadataFlowInput]]

The inputs of the node.

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.

items: Optional[List[List[JobMetadataFlowInputItem]]]

The configured items for inputs_array type inputs. Each item is an array of SubNodeInput that need ref/value resolution. Only available for inputs_array type.

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", 4 more]]

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[JobMetadataFlowInputItemRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[JobMetadataFlowInputItemRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

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

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

One of the following:
"3d"
"audio"
"document"
"image"
"image-hdr"
"json"
"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_length: Optional[float]

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

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 inputs. Also applies to each item in `string_array`.

model_types: Optional[List[Literal["custom", "elevenlabs-voice", "flux.1", 34 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"
"sd-1_5"
"sd-1_5-composition"
"sd-1_5-lora"
"sd-xl"
"sd-xl-composition"
"sd-xl-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.

ref: Optional[JobMetadataFlowInputRef]

The reference to another input or output of the same workflow. Must have at least one of node or conditional.

conditional: Optional[List[str]]

The conditional nodes to reference. If the conditional nodes are successful, the node will be successful. If the conditional nodes are skipped, the node will be skipped. Contains an array of node ids used to check the status of the nodes.

equal: Optional[str]

This is the desired node output value if ref is an if/else node.

name: Optional[str]

The name of the input or output to reference. If the type is ‘workflow’, the name is the name of the input of the workflow is required If the type is ‘node’, the name is not mandatory, except if you want all outputs of the node. To get all outputs of a node, you can use the name ‘all’.

node: Optional[str]

The node id or ‘workflow’ if the source is a workflow input.

required: Optional[JobMetadataFlowInputRequired]

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

The value of the input. This is the value of the input that will be used to run the node. Only available for flows managed by a WorkflowJob.

items: Optional[List[str]]

Statically-configured items for a List node. The node outputs this array as-is when executed. Only available for List nodes. The values can be strings, numbers, or asset IDs.

iteration_index: Optional[float]

Zero-based index of the iteration this node copy belongs to. Set on dynamically-created copies of loop body nodes.

job_id: Optional[str]

If the flow is part of a WorkflowJob, this is the jobId for the node. jobId is only available for nodes started. A node “Pending” for a running workflow job is not started.

logic: Optional[JobMetadataFlowLogic]

The logic of the node. Only available for logic nodes.

cases: Optional[List[JobMetadataFlowLogicCase]]

The cases of the logic. Only available for if/else nodes.

condition: str
value: str
default: Optional[str]

The default case of the logic. Contains the id/output of the node to execute if no case is matched. Only available for if/else nodes.

transform: Optional[str]

The transform of the logic. Only available for transform nodes.

logic_type: Optional[Literal["if-else"]]

The type of the logic for the node. Only available for logic nodes.

loop_body_node_ids: Optional[List[str]]

IDs of the body template nodes that belong to this ForEach loop. At runtime these templates are cloned once per iteration and marked Skipped. Only available for ForEach nodes.

loop_node_id: Optional[str]

ID of the ForEach node that spawned this iteration copy. Set on dynamically-created copies of loop body nodes.

model_id: Optional[str]

The model id for the node. Mainly used for custom model tasks.

output: Optional[object]

The output of the node. Only available for logic nodes.

workflow_id: Optional[str]

The workflow id for the node. Mainly used for workflow tasks.

hint: Optional[str]

Actionable hint for the user explaining what went wrong and how to resolve it.

input: Optional[Dict[str, object]]

The inputs for the job

output: Optional[Dict[str, object]]

May contain the output of the job for specific custom models jobs. Only available for custom models which generate non-assets outputs. Example: LLM text results.

output_model_id: Optional[str]

For voice-clone jobs: the ID of the model being trained.

workflow_id: Optional[str]

The workflow ID of the job if job is part of a workflow.

workflow_job_id: Optional[str]

The workflow job ID of the job if job is part of a workflow job.

progress: float

Progress of the job (between 0 and 1)

status: Literal["canceled", "failure", "finalizing", 5 more]

The current status of the job

One of the following:
"canceled"
"failure"
"finalizing"
"in-progress"
"pending"
"queued"
"success"
"warming-up"
status_history: List[JobStatusHistory]

The history of the different statuses the job went through with the ISO string date of when the job reached each statuses.

date: str
status: Literal["canceled", "failure", "finalizing", 5 more]
One of the following:
"canceled"
"failure"
"finalizing"
"in-progress"
"pending"
"queued"
"success"
"warming-up"
updated_at: str

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

author_id: Optional[str]

The author user ID (example: “dcf121faaa1a0a0bbbd9ca1b73d62aea”)

billing: Optional[JobBilling]

The billing of the job

cu_cost: float
cu_discount: float
owner_id: Optional[str]

The owner ID (example: “team_U3Qmc8PCdWXwAQJ4Dvw4tV6D”)